summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xconfigure1
-rwxr-xr-xprojects/generate2
-rw-r--r--source.list2
-rw-r--r--src/spritecache.cpp4
4 files changed, 9 insertions, 0 deletions
diff --git a/configure b/configure
index f64bb36c8..48213ba72 100755
--- a/configure
+++ b/configure
@@ -83,6 +83,7 @@ SRCS="`< $ROOT_DIR/source.list tr '\r' '\n' | $awk '
deep += 1;
if ($0 == "SDL" && "'$sdl_config'" == "") { next; }
+ if ($0 == "PNG" && "'$png_config'" == "") { next; }
if ($0 == "OSX" && "'$os'" != "OSX") { next; }
if ($0 == "OS2" && "'$os'" != "OS2") { next; }
if ($0 == "PSP" && "'$os'" != "PSP") { next; }
diff --git a/projects/generate b/projects/generate
index f0fbbda2f..c40cd8d5b 100755
--- a/projects/generate
+++ b/projects/generate
@@ -31,6 +31,7 @@ fi
# First, collect the list of Windows files
sdl_config="1"
+png_config="1"
os="MSVC"
enable_dedicated="0"
with_cocoa="0"
@@ -52,6 +53,7 @@ load_main_data() {
deep += 1;
if ($0 == "SDL" && "'$sdl_config'" == "") { next; }
+ if ($0 == "PNG" && "'$png_config'" == "") { next; }
if ($0 == "OSX" && "'$os'" != "OSX") { next; }
if ($0 == "OS2" && "'$os'" != "OS2") { next; }
if ($0 == "PSP" && "'$os'" != "PSP") { next; }
diff --git a/source.list b/source.list
index 2dfd3a3ad..2a0182c49 100644
--- a/source.list
+++ b/source.list
@@ -307,8 +307,10 @@ blitter/blitter.hpp
# Sprite loaders
spriteloader/grf.cpp
spriteloader/grf.hpp
+#if PNG
spriteloader/png.cpp
spriteloader/png.hpp
+#end
spriteloader/spriteloader.hpp
# Renderer
diff --git a/src/spritecache.cpp b/src/spritecache.cpp
index 1a2721946..3e9faef4a 100644
--- a/src/spritecache.cpp
+++ b/src/spritecache.cpp
@@ -14,7 +14,9 @@
#include "fileio.h"
#include "helpers.hpp"
#include "spriteloader/grf.hpp"
+#ifdef WITH_PNG
#include "spriteloader/png.hpp"
+#endif /* WITH_PNG */
#include "blitter/blitter.hpp"
/* Default of 4MB spritecache */
@@ -137,6 +139,7 @@ static void* ReadSprite(SpriteCache *sc, SpriteID id, bool real_sprite)
file_pos = GetSpriteCache(SPR_IMG_QUERY)->file_pos;
}
+#ifdef WITH_PNG
if (BlitterFactoryBase::GetCurrentBlitter()->GetScreenDepth() == 32) {
/* Try loading 32bpp graphics in case we are 32bpp output */
SpriteLoaderPNG sprite_loader;
@@ -150,6 +153,7 @@ static void* ReadSprite(SpriteCache *sc, SpriteID id, bool real_sprite)
}
/* If the PNG couldn't be loaded, fall back to 8bpp grfs */
}
+#endif /* WITH_PNG */
FioSeekToFile(file_pos);