diff --git a/src/main/java/forge/CardUtil.java b/src/main/java/forge/CardUtil.java
index f1f63af969f..493ae96d4d2 100644
--- a/src/main/java/forge/CardUtil.java
+++ b/src/main/java/forge/CardUtil.java
@@ -680,6 +680,11 @@ public final class CardUtil {
return buildFilename(card.getName(), card.getSet(), card.getArtIndex(), maxIndex, false);
}
+ public static String buildFilename(final CardPrinted card, String nameToUse) {
+ int maxIndex = card.getCard().getSetInfo(card.getSet()).getCopiesCount();
+ return buildFilename(nameToUse, card.getSet(), card.getArtIndex(), maxIndex, false);
+ }
+
private static String buildFilename(final String cardName, final String setName, final int artIndex,
final int artIndexMax, final boolean isToken) {
File path = ForgeProps.getFile(isToken ? NewConstants.IMAGE_TOKEN : NewConstants.IMAGE_BASE);
diff --git a/src/main/java/forge/GuiDownloadSetPicturesLQ.java b/src/main/java/forge/GuiDownloadSetPicturesLQ.java
index d5fe07d2b9b..116a2968360 100644
--- a/src/main/java/forge/GuiDownloadSetPicturesLQ.java
+++ b/src/main/java/forge/GuiDownloadSetPicturesLQ.java
@@ -24,7 +24,8 @@ import forge.properties.NewConstants;
public class GuiDownloadSetPicturesLQ extends GuiDownloader {
private static final long serialVersionUID = -7890794857949935256L;
-
+ private String picturesPath;
+
/**
*
* Constructor for Gui_DownloadSetPictures_LQ.
@@ -35,8 +36,29 @@ public class GuiDownloadSetPicturesLQ extends GuiDownloader {
*/
public GuiDownloadSetPicturesLQ(final JFrame frame) {
super(frame);
+ picturesPath = ForgeProps.getFile(NewConstants.IMAGE_BASE).getPath();
}
+ protected final void addCardToList(ArrayList cList, CardPrinted c, String cardName)
+ {
+ final String urlBase = "http://cardforge.org/fpics/";
+
+ String setCode3 = c.getSet();
+ CardSet thisSet = SetUtils.getSetByCode(setCode3);
+ String setCode2 = thisSet.getCode2();
+
+ String imgFN = CardUtil.buildFilename(c, cardName);
+ boolean foundSetImage = imgFN.contains(setCode3) || imgFN.contains(setCode2);
+
+ if (!foundSetImage) {
+ int artsCnt = c.getCard().getSetInfo(setCode3).getCopiesCount();
+ String fn = CardUtil.buildIdealFilename(cardName, c.getArtIndex(), artsCnt);
+ cList.add(new DownloadObject(fn, urlBase + setCode2 + "/" + Base64Coder.encodeString(fn, true),
+ picturesPath + File.separator + setCode3));
+ System.out.println(String.format("%s [%s - %s]", cardName, setCode3, thisSet.getName() ));
+ }
+ }
+
/**
*
* getNeededCards.
@@ -49,25 +71,16 @@ public class GuiDownloadSetPicturesLQ extends GuiDownloader {
DownloadObject[] cardTokenLQ = readFileWithNames(NewConstants.TOKEN_IMAGES, ForgeProps.getFile(NewConstants.IMAGE_TOKEN));
ArrayList cList = new ArrayList();
- File base = ForgeProps.getFile(NewConstants.IMAGE_BASE);
- String urlBase = "http://cardforge.org/fpics/";
for (CardPrinted c : CardDb.instance().getAllCards()) {
String setCode3 = c.getSet();
if (StringUtils.isBlank(setCode3) || "???".equals(setCode3)) {
continue; // we don't want cards from unknown sets
}
- CardSet thisSet = SetUtils.getSetByCode(setCode3);
- String setCode2 = thisSet.getCode2();
-
- String imgFN = CardUtil.buildFilename(c);
- boolean foundSetImage = imgFN.contains(setCode3) || imgFN.contains(setCode2);
-
- if (!foundSetImage) {
- int artsCnt = c.getCard().getSetInfo(setCode3).getCopiesCount();
- String fn = CardUtil.buildIdealFilename(c.getName(), c.getArtIndex(), artsCnt);
- cList.add(new DownloadObject(fn, urlBase + setCode2 + "/" + Base64Coder.encodeString(fn, true), base
- .getPath() + File.separator + setCode3));
+ addCardToList(cList, c, c.getCard().getName());
+ if ( c.getCard().isDoubleFaced() )
+ {
+ addCardToList(cList, c, c.getCard().getSlavePart().getName());
}
}
diff --git a/src/main/java/forge/card/CardRules.java b/src/main/java/forge/card/CardRules.java
index 9e387fc821c..48ef4bdbf61 100644
--- a/src/main/java/forge/card/CardRules.java
+++ b/src/main/java/forge/card/CardRules.java
@@ -86,7 +86,9 @@ public final class CardRules {
public String[] getRules() {
return characteristics.getCardRules();
}
-
+
+ public final CardRules getSlavePart() { return slavePart; }
+
/**
* Gets the sets printed.
*