And patch is up.
Changes:
* Added some various documentation about the library and possible install problems to INSTALL
* Linux build files have been editted a bit (configure.ac, Makefile.am, etc), more on that in a sec
* In addition to what was needed to link against the new library, the build files got some features added
* the configure flag --with-static-jpeg, actually does something now. --with-static-jpeg=lib.a, will
tell the compile to static compile against the given static library
* there's also a configure flag -with-jpeg-include=DIR , to specify an alternate location for the jpeg h files
* the default is of course to link to a shared system library, but these two flags save a lot of headaches
should a system have a problem with installing libjpegturbo
* i might have added a comment or two to top level's configure.ac
* New library/folder added to the top level : libjpeg-turbo-1.1.1
* I've tested this without any problems. It's supposed to be backwards compatible with up to libjpeg6b,
and FSO code does not appear to rely on v7 and v8 features despite using v8c.
* It's supposed to be faster than regular libjpeg, but more importantly, it has more colorspaces supported
* BGR colorspace works for reading in images, meaning we don't have to do anything crazy to make
the color bits read correctly.
* It works best when compiled with SIMD options, but I've tested compiling it without SIMD and it works
just fine. Additionally, since it's linked to system libraries, it's up to the user what to use. Essentially I'm
noting that I kept my promise about this new library
not requiring FSO's default build to need SIMD.
* Changes to jpegutils.cpp
* the header files for jpeglib.h were switched from an absolute location to <jpeglib.h>, specified by the make
scripts
* The makefile will specify two locations : first where it was set to look for the jpegturbo headers (configurable by
./configure options), then failing that, the old libjpeg headers (more on that in a second)
* Compatibility : while of course it won't resolve the color bug, for the sake of people that don't care about jpegs i've
made all of this happily compile without libjpegturbo being installed
* jpegutils will throw a warning to the FSO debug log if BGR colorspace isn't supported, but will run best it can
* libjpeg is still included in the top level folder. If the build process (unix systems) can't find libjpegturbo, it will
default to compiling against libjpeg. I've tested this to work on linux. jg18 tested it to work on mac.
* In the event everyone's of the mind of "Basilisk get that older stuff out of there." it's relatively trivial to remove
this and solely use the new library.
What hasn't been done :
* Windows build system doesn't know about the changes, but will likely compile against the old libjpeg and at least not break.
* So someone will need to setup MSVC to handle the new library. My main accessible computer isn't windows, and I know
nothing about MSVC, so i won't be able to be much help with that.
* I removed some of the unneeded bloat from the libjpeg-turbo-1.1.1 folder, but it could probably still be stripped down more.
Oh, and of course, it resolves this bug

[attachment deleted by ninja]