png_screen_gamma is slightly overloaded (sorry):
A value of 0.0 means: Don't do any gamma correction in load_png()
and load_memory_png(). This meaning was introduced in v1.4.
A value of -1.0 means: Use the value from the environment variable
SCREEN_GAMMA (if available), otherwise fallback to a value of 2.2
(a good guess for PC monitors, and the value for sRGB colourspace).
This is the default.
Otherwise, the value of png_screen_gamma is taken as-is.
Register an datafile type ID with Allegro, so that when an object
with that type ID is encountered while loading a datafile, that
object will be loaded as a PNG file.
This is supposed to resemble jpgalleg_init in JPGalleg 2.0, just in
case you are lazier than lazy. It contains these 3 lines of code:
register_png_datafile_object(DAT_ID('P','N','G',' '));
register_png_file_type();
return 0;