From 36a4223ced89441110848def38d7655caaf5703e Mon Sep 17 00:00:00 2001 From: Dan Ginsburg Date: Thu, 3 Oct 2013 08:55:04 -0400 Subject: [PATCH] Some fixes/cleanup to Javed's AAssetManager changes: fix mistake I made merging changes for iOS, fix MSVC compile errors, whitespace/commenting cleanup. --- Common/Source/esUtil.c | 113 ++++++++++++++++++++++------------------- 1 file changed, 61 insertions(+), 52 deletions(-) diff --git a/Common/Source/esUtil.c b/Common/Source/esUtil.c index 0e637cb..fb9be90 100644 --- a/Common/Source/esUtil.c +++ b/Common/Source/esUtil.c @@ -29,7 +29,10 @@ #include #include #include -#endif // ANDROID +typedef AAsset esFile; +#else +typedef FILE esFile; +#endif #ifdef __APPLE__ #include "FileWrapper.h" @@ -292,56 +295,70 @@ void ESUTIL_API esLogMessage ( const char *formatStr, ... ) va_end ( params ); } +/// +// esFileRead() +// +// Wrapper for platform specific File open +// +static esFile* esFileOpen(void* ioContext, const char *fileName) +{ + esFile *pFile = NULL; + #ifdef ANDROID -typedef AAsset esFile; + if (ioContext != NULL) + { + AAssetManager* assetManager = (AAssetManager *) ioContext; + pFile = AAssetManager_open(assetManager, fileName, AASSET_MODE_BUFFER); + } #else -typedef FILE esFile; + #ifdef __APPLE__ + // iOS: Remap the filename to a path that can be opened from the bundle. + fileName = GetBundleFileName( fileName ); + #endif + + pFile = fopen( fileName, "rb" ); #endif -static esFile* esFileOpen(void* ioContext, char *fileName) -{ - esFile *pFile = NULL; - -#ifdef ANDROID - if (ioContext != NULL) - { - AAssetManager* assetManager = (AAssetManager *) ioContext; - pFile = AAssetManager_open(assetManager, fileName, AASSET_MODE_BUFFER); - } -#else - pFile = fopen( fileName, "rb" ); -#endif - - return pFile; + return pFile; } +/// +// esFileRead() +// +// Wrapper for platform specific File close +// static void esFileClose(esFile* pFile) -{ - if (pFile != NULL) - { +{ + if (pFile != NULL) + { #ifdef ANDROID - AAsset_close(pFile); + AAsset_close(pFile); #else - fclose(pFile); - pFile = NULL; + fclose(pFile); + pFile = NULL; #endif - } + } } +/// +// esFileRead() +// +// Wrapper for platform specific File read +// static int esFileRead(esFile* pFile, int bytesToRead, void* buffer) { - int bytesRead = 0; - - if (pFile == NULL) - return bytesRead; - + int bytesRead = 0; + + if (pFile == NULL) + return bytesRead; + #ifdef ANDROID - bytesRead = AAsset_read (pFile, buffer, bytesToRead); + bytesRead = AAsset_read (pFile, buffer, bytesToRead); #else - bytesRead = fread (buffer, bytesToRead, 1, pFile); + bytesRead = fread (buffer, bytesToRead, 1, pFile); #endif - - return bytesRead; + + return bytesRead; } /// @@ -354,42 +371,34 @@ char* ESUTIL_API esLoadTGA ( void *ioContext, const char *fileName, int *width, char *buffer; esFile *fp; TGA_HEADER Header; -<<<<<<< .mine - -======= - ->>>>>>> .theirs -#ifdef __APPLE__ - // iOS: Remap the filename to a path that can be opened from the bundle. - fileName = GetBundleFileName( fileName ); -#endif + int bytesRead; // Open the file for reading - fp = esFileOpen(ioContext, fileName); + fp = esFileOpen( ioContext, fileName ); if (fp == NULL) { - // Log error as 'error in opening the input file from apk' - esLogMessage("esLoadTGA FAILED to load : { %s }\n", fileName); + // Log error as 'error in opening the input file from apk' + esLogMessage( "esLoadTGA FAILED to load : { %s }\n", fileName ); return NULL; } - int bytesRead = esFileRead(fp, sizeof(TGA_HEADER), &Header); + bytesRead = esFileRead( fp, sizeof(TGA_HEADER), &Header ); *width = Header.Width; *height = Header.Height; if ( Header.ColorDepth == 24 ) { - int bytesToRead = sizeof(char) * 3 * (*width) * (*height); + int bytesToRead = sizeof(char) * 3 * (*width) * (*height); - // Allocate the image data buffer - buffer = (char *) malloc(bytesToRead); + // Allocate the image data buffer + buffer = (char *) malloc(bytesToRead); if (buffer) { - bytesRead = esFileRead(fp, bytesToRead, buffer); - esFileClose(fp); + bytesRead = esFileRead(fp, bytesToRead, buffer); + esFileClose(fp); return(buffer); }