From c3fba626a2e5d45d23fcc244c8ff8ccf3f39c3b5 Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Tue, 16 Sep 2014 07:53:00 +0200 Subject: [PATCH] Some changes to Morph card image display. --- .../java/org/mage/card/arcane/CardPanel.java | 17 +++++++++++++++-- .../plugins/card/images/CardDownloadData.java | 4 +++- .../mage/plugins/card/images/ImageCache.java | 10 +++++++++- 3 files changed, 27 insertions(+), 4 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 f3a918c3eb0..0d1b11f2ade 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 @@ -50,7 +50,9 @@ 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.CardDownloadData; import org.mage.plugins.card.images.ImageCache; +import org.mage.plugins.card.utils.CardImageUtils; import org.mage.plugins.card.utils.impl.ImageManagerImpl; /** @@ -304,8 +306,19 @@ public class CardPanel extends MagePermanent implements MouseListener, MouseMoti } BufferedImage srcImage; if (gameCard.isFaceDown()) { - TFile file = new TFile(DirectLinksForDownload.outDir + File.separator + DirectLinksForDownload.cardbackFilename); - srcImage = ImageCache.loadImage(file); + boolean morphedCard = false; + for (String rule:gameCard.getRules()) { + if (rule.startsWith("Morph ") || + rule.equals("You may cast this card as a 2/2 face-down creature, with no text, no name, no subtypes, and no mana cost by paying {3} rather than paying its mana cost.")) { + morphedCard = true; + } + } + if (morphedCard) { + srcImage = ImageCache.getMorphImage(); + }else { + TFile file = new TFile(DirectLinksForDownload.outDir + File.separator + DirectLinksForDownload.cardbackFilename); + srcImage = ImageCache.loadImage(file); + } } else { srcImage = ImageCache.getImage(gameCard, getCardWidth(), getCardHeight()); } diff --git a/Mage.Client/src/main/java/org/mage/plugins/card/images/CardDownloadData.java b/Mage.Client/src/main/java/org/mage/plugins/card/images/CardDownloadData.java index 86b7069325c..88bcd8b9d2c 100644 --- a/Mage.Client/src/main/java/org/mage/plugins/card/images/CardDownloadData.java +++ b/Mage.Client/src/main/java/org/mage/plugins/card/images/CardDownloadData.java @@ -1,5 +1,7 @@ package org.mage.plugins.card.images; +import java.util.Objects; + /** * * @author North @@ -68,7 +70,7 @@ public class CardDownloadData { if ((this.set == null) ? (other.set != null) : !this.set.equals(other.set)) { return false; } - if (this.collectorId != other.collectorId && (this.collectorId == null || !this.collectorId.equals(other.collectorId))) { + if (!Objects.equals(this.collectorId, other.collectorId) && (this.collectorId == null || !this.collectorId.equals(other.collectorId))) { return false; } if (this.token != other.token) { 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 988e2212c67..0f9560ed3b6 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 @@ -130,7 +130,15 @@ public class ImageCache { } }); } - + + public static BufferedImage getMorphImage() { + CardDownloadData info = new CardDownloadData("Morph", "KTK", 0, false, 0, "KTK"); + info.setToken(true); + String path = CardImageUtils.generateTokenImagePath(info); + TFile file = new TFile(path); + return loadImage(file); + } + private static String buildThumbnailPath(String path) { String thumbnailPath; if (PreferencesDialog.isSaveImagesToZip()) {