diff --git a/configure b/configure index f64bb36c88..48213ba721 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 f0fbbda2f4..c40cd8d5b0 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 2dfd3a3ad5..2a0182c492 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 1a27219460..3e9faef4a1 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);