diff --git a/forge-gui/src/main/java/forge/gui/CardPicturePanel.java b/forge-gui/src/main/java/forge/gui/CardPicturePanel.java index 10758bbf207..d7f07b5ca22 100644 --- a/forge-gui/src/main/java/forge/gui/CardPicturePanel.java +++ b/forge-gui/src/main/java/forge/gui/CardPicturePanel.java @@ -83,7 +83,6 @@ public final class CardPicturePanel extends JPanel { } public BufferedImage getImage() { - BufferedImage image = null; if (displayed instanceof InventoryItem) { diff --git a/forge-gui/src/main/java/forge/gui/match/controllers/CPicture.java b/forge-gui/src/main/java/forge/gui/match/controllers/CPicture.java index 5f5ee4f7962..50c24318f39 100644 --- a/forge-gui/src/main/java/forge/gui/match/controllers/CPicture.java +++ b/forge-gui/src/main/java/forge/gui/match/controllers/CPicture.java @@ -68,9 +68,10 @@ public enum CPicture implements ICDoc { currentCard = c; displayedState = c.getCurState(); - flipIndicator.setVisible(isCurrentCardFlippable()); + boolean isFlippable = isCurrentCardFlippable(); + flipIndicator.setVisible(isFlippable); picturePanel.setCard(c); - if (showFlipped && isCurrentCardFlippable()) { + if (showFlipped && isFlippable) { flipCard(); } } @@ -195,7 +196,7 @@ public enum CPicture implements ICDoc { } private boolean isCurrentCardFlippable() { - if (currentCard == null) { return false; } + if (currentCard == null || !Singletons.getControl().mayShowCard(currentCard)) { return false; } return currentCard.isDoubleFaced() || currentCard.isFlipCard() || (currentCard.isFaceDown() && isAuthorizedToViewFaceDownCard(currentCard)); diff --git a/forge-gui/src/main/java/forge/gui/toolbox/imaging/FImageUtil.java b/forge-gui/src/main/java/forge/gui/toolbox/imaging/FImageUtil.java index 706274bda54..736a5754ad9 100644 --- a/forge-gui/src/main/java/forge/gui/toolbox/imaging/FImageUtil.java +++ b/forge-gui/src/main/java/forge/gui/toolbox/imaging/FImageUtil.java @@ -19,6 +19,7 @@ package forge.gui.toolbox.imaging; import forge.ImageCache; +import forge.ImageKeys; import forge.Singletons; import forge.card.CardCharacteristicName; import forge.game.card.Card; @@ -55,6 +56,9 @@ public final class FImageUtil { * For flip cards, returns the un-flipped image. */ public static BufferedImage getImage(Card card) { + if (!Singletons.getControl().mayShowCard(card)) { + return ImageCache.getOriginalImage(ImageKeys.TOKEN_PREFIX + ImageKeys.MORPH_IMAGE, true); + } BufferedImage image = ImageCache.getOriginalImage(card.getImageKey(), true); int foilIndex = card.getFoil(); if (image != null && foilIndex > 0) { diff --git a/forge-gui/src/main/java/forge/view/arcane/CardPanel.java b/forge-gui/src/main/java/forge/view/arcane/CardPanel.java index aca1a8fd518..44bb41badce 100644 --- a/forge-gui/src/main/java/forge/view/arcane/CardPanel.java +++ b/forge-gui/src/main/java/forge/view/arcane/CardPanel.java @@ -318,7 +318,7 @@ public class CardPanel extends SkinnedPanel implements CardContainer, IDisposabl g2d.fillRoundRect(this.cardXOffset - n, (this.cardYOffset - n) + offset, this.cardWidth + (n * 2), this.cardHeight + (n * 2), cornerSize + n , cornerSize + n); // White border if card is known to have it. - if (this.getCard() != null && !this.getCard().isFaceDown()) { + if (this.getCard() != null && Singletons.getControl().mayShowCard(this.getCard()) && !this.getCard().isFaceDown()) { CardEdition ed = Singletons.getMagicDb().getEditions().get(this.getCard().getCurSetCode()); if (ed != null && ed.isWhiteBorder() && this.getCard().getFoil() == 0) { g2d.setColor(Color.white); @@ -783,7 +783,7 @@ public class CardPanel extends SkinnedPanel implements CardContainer, IDisposabl } private boolean isShowingOverlays() { - return isPreferenceEnabled(FPref.UI_SHOW_CARD_OVERLAYS); + return isPreferenceEnabled(FPref.UI_SHOW_CARD_OVERLAYS) && this.card != null && Singletons.getControl().mayShowCard(this.card); } private boolean showCardNameOverlay() {