by Spike » Fri Dec 05, 2014 1:58 am
many quakeworld PLAYER skins are 320*200, but the actual player model uses a smaller size than that (I don't remember exactly, but its not a guessable size). this is problematic because quakeworld engines will STRIP OUT the extra pixels around the side. this allows you to write copyright text or whatever there, and it'll never be uploaded to the gl driver.
when converting such skins to regular model skins, you will need to crop the extra pixels from your image. you can then rescale to 256*256 or whatever if you want to avoid npot issues, but you cannot include the same padding as found in a quakeworld _PLAYER_ skin.
QuakeWorld is special. QuakeWorld's players are special. And by special, I mean that using anything other than the original pcxes is extreemly problematic, from a consistency perspective. Or, in other words, GOTCHA!
open up the mdl in qme or something (read only). Read the skin size. _Crop your original pcx to match that_. Resize that to some larger resolution if you want and re-paint it however you want. Save using your choice of engine's replacement skin texture naming convention. Load your choice of engine.
for bonus points, you should allow for the skin to smear outside of the parts of the texture that are actually used. This avoids the background colour showing through when the model is distant and thus mipmapped. Software rendering did not support mipmapping skin textures, and the vanilla skins lack this. glquake flood-fills the background of skin textures as a way to hide the issue, but this can cause other bugs and is thus typically not done for 32bit textures, so you need to do something similarish yourself.
.