Using this featurehttp://mysite.freeserve.com/thomaswhittaker/c_code/freespace/fs2_open_r.rarhttp://mysite.freeserve.com/thomaswhittaker/c_code/freespace/Launcher.rarOk the exe in this thread allows you to use TGA's and JPG's instead of PCX's.
For example fighter01-01a.tga or fighter01-01a.jpg can be loaded instead of fighter01-01a.pcx.
The engine will look for TGA first, then JPG and finally PCX
Also you must specify '-32bit_textures' command line parameter otherwise the textures will load into 16 bit even if you are playing in a 32 bit mode. We still have a lot of old cards so I dont want to force maximum quailty on everyone.
EDIT: For anyone downloading the exe from now on the parameter is '-t32'
This feature is only currently supported in D3D. Why? Because D3D provided a very nice function to do a lot of the work for me.
Now this is new code and I expect there to be bugs so anyone who tries it should consider themself a beta tester. Please give feedback on good and bad.
File type detailsIf people want I could also throw in compatiblity for these files types: .dds, .dib and .png
However the more types FS2 supports the more time it will take to work out which files it wants to load.
I have chosen jpg because a maximum quality jpg can give us good quality for a small file size.
I have also chosen TGA because it supports alpha channels.
Alpha channelsHowever I advise you not to use alpha channels except for stuff like planets. I've not tested alpha channels yet so they may not work perfectly yet. If you use alpha channels for 3D stuff then you are on your own, chances are the FS2 engine will not act how you expect and fixing that is not trivial.
Remember non alpha TGA's are 24 bit TGAS. If you save a 32 bit TGA without an alpha channel you wont see very much.
Green masking will have no effect in TGA and JPG, I could change that but I figure its better to stick to alpha channels since someone may actually want to use pure green in an image at some point.
LimitationsBecause I coded it using D3DX functionality it has some interesting advantages. 16 bit users will be able to use the same data and it will be scaled down to 16 bit for them. Also hopefully it will scale down textures that are too large for your card. The only problem I see is that currently this system does not support texture sections so if people start making interface art then people whos max texture size is below 1024 (everyone scowl at voodoo owners) will get a very blurred picture in the frontend.
I think anyone releasing seriously huge textures for a MOD or whatever should have a low res version as well. All this scaling functionality is all very well but it will process slower on the machines that need to do the most rescaling of big images.
Also obviously using 32 bit textures instead of 16 bit means there will almost certainly be a performance loss.
Theres probably other problems that I havent forseen but they will turn up when people start to use this for real purposes.
Further workIm also working on getting the current PCX's to load into 32bit for a slight increase in quality.