diff --git a/IO/include/ImageFileFormat.h b/IO/include/ImageFileFormat.h index 330506d..48b262b 100644 --- a/IO/include/ImageFileFormat.h +++ b/IO/include/ImageFileFormat.h @@ -46,6 +46,7 @@ enum EImageFileFormat { eFileFormat_PNG, + eFileFormat_PVR, kNumImageFileFormats }; diff --git a/IO/src/ImageFile.cpp b/IO/src/ImageFile.cpp index 0af6696..e2363f7 100644 --- a/IO/src/ImageFile.cpp +++ b/IO/src/ImageFile.cpp @@ -61,6 +61,8 @@ # include "ImageWriterPNG.h" #endif +#include "ImageLoaderPVR.h" + ////////////////////////////////////////////////////////////////////////////////////////// // // Static helper functions @@ -172,6 +174,10 @@ Image *ImageFile::LoadImage(const unsigned char *rawImageData) const { break; #endif // PNG_FOUND + case eFileFormat_PVR: + loader = new ImageLoaderPVR(rawImageData); + break; + default: fprintf(stderr, "Unable to load image: unknown file format.\n"); return NULL; @@ -215,6 +221,10 @@ EImageFileFormat ImageFile::DetectFileFormat(const CHAR *filename) { if(strcmp(ext, ".png") == 0) { return eFileFormat_PNG; } + else if(strcmp(ext, ".pvr") == 0) { + return eFileFormat_PVR; + } + return kNumImageFileFormats; }