jdolan / quetoo-data

Quetoo ("Q2") game data. Creative Commons Attribution license.
http://quetoo.org
Creative Commons Attribution Share Alike 4.0 International
14 stars 3 forks source link

Pants/shirt colors #74

Closed Paril closed 7 years ago

Paril commented 7 years ago

So, I've been thinking about how we have qforcer and guard in different colors, and it got me thinking: why don't we implement full 24-bit color pants and shirt modulation like DarkPlaces has? This way, we only need the one skin file + _pants/_shirt files and we can pass the colors in userinfo in hexadecimal or something, and the material will modulate the stage with that color.

With this, we could even have red/blue for CTF just point to a single ctf.tga whose material has a _pants/_shirt (supporting red/blue separately still since some people might want unique CTF skins instead of just a recolor), + full 24-bit color choosing in options for skins!

jdolan commented 7 years ago

I'm totally onboard with this. I knew it was the right thing to do back in 2012, but I didn't have time, so I punted and made a bunch of modulated skins instead.

jdolan commented 7 years ago

@Paril should this be in quetoo and not quetoo-data?

kaadmy commented 7 years ago

Why not just add color modulation to any model(s)? You'd need to pass in a few more textures (2 or so) as color masks to the shader and a color for each texture to modulate, then any model could have colors (Team colored models, CTF flags, etc.)

Paril commented 7 years ago

@jdolan I thought about it, but it felt it fit here more because it requires much more code than it does content. (Edit: whoops, yes, I put it in the wrong spot lol) @kaadmy that's the idea :)

jdolan commented 7 years ago

Oh, I see. So this ticket is really to have a masked off skin for each model that will take the color modulation. We should do this with the "default" skin for each model, right?

Paril commented 7 years ago

Yeah basically, this is the data side of it. Exactly how it's going to work code-wise is a little up in the air, and ideally I'd like this to be able to be used on any entity that is "teamable" (for instance, flags could use this so we can have n-team CTF easily).

The default or team version of the model should have it (the Guard, for instance, has a special skin for colors which look nicer), yeah. I'm thinking we can have the default model work with the colors, but keep the special values for teams ("red", "blue", etc etc) valid just in case the model (Guard can use the CTF skin for its color modulation) has a different skin they want to use for team games. We can even have it fall back to special skins in the odd case that the user has r_materials 0, which is the only thing that's holding me back from implementing this right now.

kaadmy commented 7 years ago

Is this issue relevant anymore?

jdolan commented 7 years ago

Isn't it? I don't believe we have tint maps for each model. We also don't yet have the menu modifications to manipulate the tint map in master, either.

kaadmy commented 7 years ago

Key word: in master KaadmY runs

I think all player models except Bunker have tints now.

kaadmy commented 7 years ago

Bunker doesn't have tints yet, I didn't add them because I noticed the readme for Bunker (as well as all other models!) says you CANNOT modify it.