So, if I summarize some talks we had on #unvanquished-dev
1. Picture file formats
Picture format currently supported are:
- jpg (lossy)
- png (lossless)
- tga (lossless)
- webp (lossy or lossless)
- crn (lossy)
1.1 webp will probably be droped in the future to reduce the dependency list. Right?
1.2 So whatever the source format, files in pk3 for release must use png for textures that must not be lossy, and crn for others. Right?
Some textures must NOT be lossy.
1.3 Color grading textures must be lossy, Right?
1.4 Is light maps can be lossy?
1.5 Is skybox can be lossy?
1.6 Is there other special textures that must not be lossy? (I don't know if there is masking textures or something like that).
2. Audio file formats
Audio formats supported are:
- wav
- vorbis (in ogg container)
- opus (in ogg container)
2.1 It seems there is no sound that must not be shipped lossy, so whatever the source format, sounds in pk3 for release must be in opus. Right?
2.2 About opus files, the engine does not handle .oga extensions, only .ogg. Right ?
3. File names and file paths
3.1 Textures are shaders, and the engine loads each texture automatically as a shader, that's why the shader names in bsp texture lump does not known the file extension. Right?
3.2 Shaders described in shader-files can depends on picture files, these picture paths must contain the file extension. So, if I convert a texture used by a manually writen shader, I must rewrite the .shader file with the fixed path. Right?
3.3 Previously in the past some maps where ported from tremulous, and in pk3 textures are converted from jpg and tga to crn. But shader files were never fixed and describe original path, but it seems to work. How it works? Is there a special code in the daemon engine to load a crn file if a jpg, tga, png etc. is missing?
3.4 On my system (Ubuntu Linux), texture path are case sensitive, but many old maps assumed this was case insensitive, is it because the tremulous engine was case insensitive or because the mapper have done their job on Windows?
3.5 There is sound file paths in the entities lump of the bsp, is this the only place where sounds can be described ? Do I have to check another place to rewrite sound file paths if I convert a wav file to opus (and changing the file ext) for example ?
4. Entities
4.1 Is there a table that list old entities names alongside new entities names to use instead ?
5. Shaders
5.1 Shaders can only modify a picture, not a picture rendered by another shader, I can only use a shader name to map a picture file path, not use shader name to map another shader name. Right?
Thanks a lot!