]> git.jsancho.org Git - lugaru.git/blobdiff - Source/Utils/ImageIO.cpp
Creating map saving folder if needed
[lugaru.git] / Source / Utils / ImageIO.cpp
index 8bd5bfc33f3e0ff3f5e119ffd7f55d435c88f2d0..95f89544c26b062c5751faa1dd310b2fa4d6c4cd 100644 (file)
@@ -28,8 +28,6 @@ along with Lugaru.  If not, see <http://www.gnu.org/licenses/>.
 #include <stdio.h>
 #include <zlib.h>
 
-extern bool visibleloading;
-
 /* These two are needed for screenshot */
 extern int kContextWidth;
 extern int kContextHeight;
@@ -51,9 +49,7 @@ ImageRec::~ImageRec()
 
 bool load_image(const char *file_name, ImageRec &tex)
 {
-    if (visibleloading) {
-        Game::LoadingScreen();
-    }
+    Game::LoadingScreen();
 
     if ( tex.data == NULL ) {
         return false;
@@ -104,10 +100,13 @@ static bool load_jpg(const char *file_name, ImageRec &tex)
     struct my_error_mgr jerr;
     JSAMPROW buffer[1]; /* Output row buffer */
     int row_stride; /* physical row width in output buffer */
+    errno = 0;
     FILE *infile = fopen(file_name, "rb");
 
-    if (infile == NULL)
+    if (infile == NULL) {
+        perror((std::string("Couldn't open file ") + file_name).c_str());
         return false;
+    }
 
     cinfo.err = jpeg_std_error(&jerr.pub);
     jerr.pub.error_exit = my_error_exit;
@@ -154,10 +153,11 @@ static bool load_png(const char *file_name, ImageRec &tex)
     int bit_depth, color_type, interlace_type;
     bool retval = false;
     png_byte **row_pointers = NULL;
+    errno = 0;
     FILE *fp = fopen(file_name, "rb");
 
     if (fp == NULL) {
-        cerr << file_name << " not found" << endl;
+        perror((std::string("Couldn't open file ") + file_name).c_str());
         return false;
     }
 
@@ -237,9 +237,12 @@ static bool save_screenshot_png(const char *file_name)
     png_infop info_ptr = NULL;
     bool retval = false;
 
+    errno = 0;
     fp = fopen(file_name, "wb");
-    if (fp == NULL)
+    if (fp == NULL) {
+        perror((std::string("Couldn't open file ") + file_name).c_str());
         return false;
+    }
 
     png_bytep *row_pointers = new png_bytep[kContextHeight];
     png_bytep screenshot = new png_byte[kContextWidth * kContextHeight * 3];