From fc495eee9d08d75cc2cd027ff1dbe38078cccf33 Mon Sep 17 00:00:00 2001 From: Maxmtg Date: Sun, 17 Mar 2013 20:43:04 +0000 Subject: [PATCH] LQ setless images will be appended a number (1) if they exist in multiple prints in any set. --- src/main/java/forge/ImageCache.java | 18 ++++++++++-------- src/main/java/forge/ImageLoader.java | 8 ++++---- 2 files changed, 14 insertions(+), 12 deletions(-) diff --git a/src/main/java/forge/ImageCache.java b/src/main/java/forge/ImageCache.java index 59fdc27dc1d..735bd5be74c 100644 --- a/src/main/java/forge/ImageCache.java +++ b/src/main/java/forge/ImageCache.java @@ -196,24 +196,26 @@ public class ImageCache { s.append(ImageCache.toMWSFilename(nameToUse)); final int cntPictures; + final boolean hasManyPictures; if (includeSet) { cntPictures = card.getEditionInfo(edition).getCopiesCount(); + hasManyPictures = cntPictures > 1; } else { // without set number of pictures equals number of urls provided in Svar:Picture String urls = backFace ? card.getPictureOtherSideUrl() : card.getPictureUrl(); cntPictures = StringUtils.countMatches(urls, "\\\\") + 1; -// // raise the art index limit to the maximum of the sets this card was printed in -// int maxCntPictures = 1; -// for (String set : card.getSets()) { -// maxCntPictures = Math.max(maxCntPictures, card.getEditionInfo(set).getCopiesCount()); -// } -// cntPictures = maxCntPictures; + // raise the art index limit to the maximum of the sets this card was printed in + int maxCntPictures = 1; + for (String set : card.getSets()) { + maxCntPictures = Math.max(maxCntPictures, card.getEditionInfo(set).getCopiesCount()); + } + hasManyPictures = maxCntPictures > 1; } int artIdx = cp.getArtIndex(); - if (cntPictures > 1 ) { - if ( cntPictures <= artIdx ) + if (hasManyPictures) { + if ( cntPictures <= artIdx ) // prevent overflow artIdx = cntPictures == 1 ? 0 : artIdx % cntPictures; s.append(artIdx + 1); } diff --git a/src/main/java/forge/ImageLoader.java b/src/main/java/forge/ImageLoader.java index b5aa473171d..84fc48bd588 100644 --- a/src/main/java/forge/ImageLoader.java +++ b/src/main/java/forge/ImageLoader.java @@ -64,11 +64,11 @@ final class ImageLoader extends CacheLoader { if (null == ret && filename.contains("/")) { setlessFilename = filename.substring(filename.indexOf('/') + 1); ret = _findFile(key, path, setlessFilename); - } - // try lowering the art index to the minimum for regular cards - if (null == ret && null != setlessFilename && setlessFilename.contains(".full")) { - ret = _findFile(key, path, setlessFilename.replaceAll("[0-9]*[.]full", "1.full")); + // try lowering the art index to the minimum for regular cards + if (null == ret && setlessFilename.contains(".full")) { + ret = _findFile(key, path, setlessFilename.replaceAll("[0-9]*[.]full", "1.full")); + } } if (null == ret) {