   Load_BMP vs. IMG_Load
  Is there any reason to use the Load_BMP function instead of the IMG_Load function? (Aside from needing to include the sdl_image header and lib files).  It seems to me that being able to load multiple image formats renders the Load_BMP function utterly useless.   
  Once you have allowed for SDL_Image as a dependency then yes, there is no point calling SDL_LoadBMP() anywhere because you are only limiting yourself as to what formats you accept. But SDL_LoadBMP() has value, after I would guess that if you passed a bitmap file name to IMG_Load() it would fall back to SDL_LoadBMP(), so its not useless.   ;  IMG_Load appears to load BMP files at least a bit better than SDL_LoadBMP, too. One example is that if you have a 32-bit BMP file (which I think is against the format's standards), IMG_Load will load in the 4th channel, whereas SDL_LoadBMP ignores it.   