From 37a1c9a6f95dfa7cdc6a7da2239b9025eba43d20 Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Thu, 29 May 2014 16:41:41 +0200 Subject: [PATCH] Face down cards use now the cardback image. --- .../main/java/org/mage/card/arcane/CardPanel.java | 13 +++++++++++-- .../card/dl/sources/DirectLinksForDownload.java | 10 ++++++---- .../org/mage/plugins/card/images/ImageCache.java | 15 +++++++++++++++ 3 files changed, 32 insertions(+), 6 deletions(-) diff --git a/Mage.Client/src/main/java/org/mage/card/arcane/CardPanel.java b/Mage.Client/src/main/java/org/mage/card/arcane/CardPanel.java index 8a205410ca6..192b54e70f7 100644 --- a/Mage.Client/src/main/java/org/mage/card/arcane/CardPanel.java +++ b/Mage.Client/src/main/java/org/mage/card/arcane/CardPanel.java @@ -1,5 +1,6 @@ package org.mage.card.arcane; +import de.schlichtherle.truezip.file.TFile; import java.awt.AlphaComposite; import java.awt.Color; import java.awt.Dimension; @@ -18,6 +19,7 @@ import java.awt.event.MouseMotionListener; import java.awt.event.MouseWheelEvent; import java.awt.event.MouseWheelListener; import java.awt.image.BufferedImage; +import java.io.File; import java.util.ArrayList; import java.util.List; import java.util.UUID; @@ -43,6 +45,7 @@ import mage.view.StackAbilityView; import org.apache.log4j.Logger; import org.mage.card.arcane.ScaledImagePanel.MultipassType; import org.mage.card.arcane.ScaledImagePanel.ScalingType; +import org.mage.plugins.card.dl.sources.DirectLinksForDownload; import org.mage.plugins.card.images.ImageCache; import org.mage.plugins.card.utils.impl.ImageManagerImpl; @@ -257,10 +260,16 @@ public class CardPanel extends MagePermanent implements MouseListener, MouseMoti try { tappedAngle = isTapped() ? CardPanel.TAPPED_ANGLE : 0; flippedAngle = isFlipped() ? CardPanel.FLIPPED_ANGLE : 0; - if (!loadImage || gameCard.isFaceDown()) { + if (!loadImage) { return; } - BufferedImage srcImage = ImageCache.getImage(gameCard, getCardWidth(), getCardHeight()); + BufferedImage srcImage; + if (gameCard.isFaceDown()) { + TFile file = new TFile(DirectLinksForDownload.outDir + File.separator + DirectLinksForDownload.cardbackFilename); + srcImage = ImageCache.loadImage(file); + } else { + srcImage = ImageCache.getImage(gameCard, getCardWidth(), getCardHeight()); + } if (srcImage != null) { hasImage = true; setText(gameCard); diff --git a/Mage.Client/src/main/java/org/mage/plugins/card/dl/sources/DirectLinksForDownload.java b/Mage.Client/src/main/java/org/mage/plugins/card/dl/sources/DirectLinksForDownload.java index debc78f7d56..0ab60ad0862 100644 --- a/Mage.Client/src/main/java/org/mage/plugins/card/dl/sources/DirectLinksForDownload.java +++ b/Mage.Client/src/main/java/org/mage/plugins/card/dl/sources/DirectLinksForDownload.java @@ -7,12 +7,14 @@ package org.mage.plugins.card.dl.sources; import java.io.File; -import java.util.*; +import java.util.ArrayList; +import java.util.Iterator; +import java.util.LinkedHashMap; +import java.util.Map; import org.mage.plugins.card.dl.DownloadJob; import static org.mage.plugins.card.dl.DownloadJob.fromURL; import static org.mage.plugins.card.dl.DownloadJob.toFile; - /** * Used when we need to point to direct links to download resources from. * @@ -22,7 +24,7 @@ public class DirectLinksForDownload implements Iterable { private static final String backsideUrl = "http://upload.wikimedia.org/wikipedia/en/a/aa/Magic_the_gathering-card_back.jpg"; - private static final Map directLinks = new LinkedHashMap(); + private static final Map directLinks = new LinkedHashMap<>(); public static final String cardbackFilename = "cardback.jpg"; public static final String tokenFrameFilename = "tokenFrame.png"; @@ -45,7 +47,7 @@ public class DirectLinksForDownload implements Iterable { @Override public Iterator iterator() { - ArrayList jobs = new ArrayList(); + ArrayList jobs = new ArrayList<>(); for (Map.Entry url : directLinks.entrySet()) { File dst = new File(outDir, url.getKey()); diff --git a/Mage.Client/src/main/java/org/mage/plugins/card/images/ImageCache.java b/Mage.Client/src/main/java/org/mage/plugins/card/images/ImageCache.java index 76ca1471127..0a3b4f050aa 100644 --- a/Mage.Client/src/main/java/org/mage/plugins/card/images/ImageCache.java +++ b/Mage.Client/src/main/java/org/mage/plugins/card/images/ImageCache.java @@ -180,6 +180,21 @@ public class ImageCache { return getImage(key); } + /** + * Returns the Image corresponding to the Path + */ + private static BufferedImage getImageByPath(String path) { + if (path == null) { + return null; + } + TFile file = new TFile(path); + if (!file.exists()) { + log.warn("File does not exist: " + file.toString()); + return null; + } + return getWizardsCard(loadImage(file)); + + } /** * Returns the Image corresponding to the key