mirror of
https://github.com/magefree/mage.git
synced 2025-12-20 10:40:06 -08:00
Update render mode selection (#13579)
* Update render mode selection * changes render mode selection to a drop-down * modes include MTGO, Image, Forced M15, Forced Retro * debug card test panel updated with additional modes as well * Update wording on tooltips and update debug panel combobox * Update CardRenderMode to have id
This commit is contained in:
parent
fa85541fc5
commit
c936442ea6
8 changed files with 218 additions and 67 deletions
|
|
@ -2183,7 +2183,7 @@
|
||||||
<Component id="panelCardStyles" min="-2" max="-2" attributes="0"/>
|
<Component id="panelCardStyles" min="-2" max="-2" attributes="0"/>
|
||||||
<EmptySpace max="-2" attributes="0"/>
|
<EmptySpace max="-2" attributes="0"/>
|
||||||
<Component id="panelCardImages" min="-2" max="-2" attributes="0"/>
|
<Component id="panelCardImages" min="-2" max="-2" attributes="0"/>
|
||||||
<EmptySpace pref="306" max="32767" attributes="0"/>
|
<EmptySpace pref="309" max="32767" attributes="0"/>
|
||||||
</Group>
|
</Group>
|
||||||
</Group>
|
</Group>
|
||||||
</DimensionLayout>
|
</DimensionLayout>
|
||||||
|
|
@ -2224,7 +2224,7 @@
|
||||||
<Component id="cbPreferredImageLanguage" min="-2" pref="153" max="-2" attributes="0"/>
|
<Component id="cbPreferredImageLanguage" min="-2" pref="153" max="-2" attributes="0"/>
|
||||||
</Group>
|
</Group>
|
||||||
</Group>
|
</Group>
|
||||||
<EmptySpace min="0" pref="480" max="32767" attributes="0"/>
|
<EmptySpace min="0" pref="0" max="32767" attributes="0"/>
|
||||||
</Group>
|
</Group>
|
||||||
</Group>
|
</Group>
|
||||||
<EmptySpace max="-2" attributes="0"/>
|
<EmptySpace max="-2" attributes="0"/>
|
||||||
|
|
@ -2283,7 +2283,6 @@
|
||||||
</Component>
|
</Component>
|
||||||
<Component class="javax.swing.JComboBox" name="cbPreferredImageLanguage">
|
<Component class="javax.swing.JComboBox" name="cbPreferredImageLanguage">
|
||||||
<Properties>
|
<Properties>
|
||||||
<Property name="maximumRowCount" type="int" value="20"/>
|
|
||||||
<Property name="model" type="javax.swing.ComboBoxModel" editor="org.netbeans.modules.form.editors2.ComboBoxModelEditor">
|
<Property name="model" type="javax.swing.ComboBoxModel" editor="org.netbeans.modules.form.editors2.ComboBoxModelEditor">
|
||||||
<StringArray count="4">
|
<StringArray count="4">
|
||||||
<StringItem index="0" value="Item 1"/>
|
<StringItem index="0" value="Item 1"/>
|
||||||
|
|
@ -2318,15 +2317,48 @@
|
||||||
</Property>
|
</Property>
|
||||||
</Properties>
|
</Properties>
|
||||||
|
|
||||||
<Layout class="org.netbeans.modules.form.compat2.layouts.DesignBoxLayout">
|
<Layout>
|
||||||
<Property name="axis" type="int" value="1"/>
|
<DimensionLayout dim="0">
|
||||||
|
<Group type="103" groupAlignment="0" attributes="0">
|
||||||
|
<Component id="cbCardRenderIconsForAbilities" min="-2" max="-2" attributes="0"/>
|
||||||
|
<Component id="cbCardRenderIconsForPlayable" min="-2" max="-2" attributes="0"/>
|
||||||
|
<Component id="jSeparator1" min="-2" pref="775" max="-2" attributes="0"/>
|
||||||
|
<Component id="cbCardRenderShowReminderText" min="-2" max="-2" attributes="0"/>
|
||||||
|
<Component id="cbCardRenderHideSetSymbol" min="-2" max="-2" attributes="0"/>
|
||||||
|
<Component id="cbCardRenderShowAbilityTextOverlay" min="-2" max="-2" attributes="0"/>
|
||||||
|
<Group type="102" alignment="0" attributes="0">
|
||||||
|
<EmptySpace min="-2" pref="6" max="-2" attributes="0"/>
|
||||||
|
<Component id="labelRenderMode" min="-2" max="-2" attributes="0"/>
|
||||||
|
<EmptySpace max="-2" attributes="0"/>
|
||||||
|
<Component id="cbCardRenderImageFallback" min="-2" pref="122" max="-2" attributes="0"/>
|
||||||
|
</Group>
|
||||||
|
</Group>
|
||||||
|
</DimensionLayout>
|
||||||
|
<DimensionLayout dim="1">
|
||||||
|
<Group type="103" groupAlignment="0" attributes="0">
|
||||||
|
<Group type="102" attributes="0">
|
||||||
|
<EmptySpace min="0" pref="0" max="-2" attributes="0"/>
|
||||||
|
<Group type="103" groupAlignment="3" attributes="0">
|
||||||
|
<Component id="labelRenderMode" alignment="3" min="-2" max="-2" attributes="0"/>
|
||||||
|
<Component id="cbCardRenderImageFallback" alignment="3" min="-2" max="-2" attributes="0"/>
|
||||||
|
</Group>
|
||||||
|
<EmptySpace min="0" pref="0" max="-2" attributes="0"/>
|
||||||
|
<Component id="cbCardRenderIconsForAbilities" min="-2" max="-2" attributes="0"/>
|
||||||
|
<EmptySpace min="0" pref="0" max="-2" attributes="0"/>
|
||||||
|
<Component id="cbCardRenderIconsForPlayable" min="-2" max="-2" attributes="0"/>
|
||||||
|
<EmptySpace min="0" pref="0" max="-2" attributes="0"/>
|
||||||
|
<Component id="jSeparator1" min="-2" max="-2" attributes="0"/>
|
||||||
|
<EmptySpace min="0" pref="0" max="-2" attributes="0"/>
|
||||||
|
<Component id="cbCardRenderShowReminderText" min="-2" max="-2" attributes="0"/>
|
||||||
|
<EmptySpace min="0" pref="0" max="-2" attributes="0"/>
|
||||||
|
<Component id="cbCardRenderHideSetSymbol" min="-2" max="-2" attributes="0"/>
|
||||||
|
<EmptySpace min="0" pref="0" max="-2" attributes="0"/>
|
||||||
|
<Component id="cbCardRenderShowAbilityTextOverlay" min="-2" max="-2" attributes="0"/>
|
||||||
|
</Group>
|
||||||
|
</Group>
|
||||||
|
</DimensionLayout>
|
||||||
</Layout>
|
</Layout>
|
||||||
<SubComponents>
|
<SubComponents>
|
||||||
<Component class="javax.swing.JCheckBox" name="cbCardRenderImageFallback">
|
|
||||||
<Properties>
|
|
||||||
<Property name="text" type="java.lang.String" value="Render mode: MTGO style (off) or IMAGE style (on)"/>
|
|
||||||
</Properties>
|
|
||||||
</Component>
|
|
||||||
<Component class="javax.swing.JCheckBox" name="cbCardRenderIconsForAbilities">
|
<Component class="javax.swing.JCheckBox" name="cbCardRenderIconsForAbilities">
|
||||||
<Properties>
|
<Properties>
|
||||||
<Property name="text" type="java.lang.String" value="Enable card icons for abilities (example: flying, deathtouch)"/>
|
<Property name="text" type="java.lang.String" value="Enable card icons for abilities (example: flying, deathtouch)"/>
|
||||||
|
|
@ -2354,6 +2386,28 @@
|
||||||
<Property name="text" type="java.lang.String" value="Show ability text as overlay in big card view"/>
|
<Property name="text" type="java.lang.String" value="Show ability text as overlay in big card view"/>
|
||||||
</Properties>
|
</Properties>
|
||||||
</Component>
|
</Component>
|
||||||
|
<Component class="javax.swing.JLabel" name="labelRenderMode">
|
||||||
|
<Properties>
|
||||||
|
<Property name="text" type="java.lang.String" value="Render Mode:"/>
|
||||||
|
<Property name="toolTipText" type="java.lang.String" value="<HTML>Image - Renders card image with text overlay<br> MTGO - Renders card frame around card art<br> Forced M15 - Renders all cards in the modern frame<br> Forced Retro - Renders all cards in the retro frame"/>
|
||||||
|
</Properties>
|
||||||
|
</Component>
|
||||||
|
<Component class="javax.swing.JComboBox" name="cbCardRenderImageFallback">
|
||||||
|
<Properties>
|
||||||
|
<Property name="model" type="javax.swing.ComboBoxModel" editor="org.netbeans.modules.form.editors2.ComboBoxModelEditor">
|
||||||
|
<StringArray count="4">
|
||||||
|
<StringItem index="0" value="Item 1"/>
|
||||||
|
<StringItem index="1" value="Item 2"/>
|
||||||
|
<StringItem index="2" value="Item 3"/>
|
||||||
|
<StringItem index="3" value="Item 4"/>
|
||||||
|
</StringArray>
|
||||||
|
</Property>
|
||||||
|
<Property name="toolTipText" type="java.lang.String" value="<HTML>Image - Renders card image with text overlay<br> MTGO - Renders card frame around card art<br> Forced M15 - Renders all cards in the MTGO style with the modern frame<br> Forced Retro - Renders all cards in the MTGO style with the retro frame"/>
|
||||||
|
</Properties>
|
||||||
|
<AuxValues>
|
||||||
|
<AuxValue name="JavaCodeGenerator_TypeParameters" type="java.lang.String" value="<String>"/>
|
||||||
|
</AuxValues>
|
||||||
|
</Component>
|
||||||
</SubComponents>
|
</SubComponents>
|
||||||
</Container>
|
</Container>
|
||||||
</SubComponents>
|
</SubComponents>
|
||||||
|
|
|
||||||
|
|
@ -4,10 +4,7 @@ import mage.client.MageFrame;
|
||||||
import mage.client.SessionHandler;
|
import mage.client.SessionHandler;
|
||||||
import mage.client.components.KeyBindButton;
|
import mage.client.components.KeyBindButton;
|
||||||
import mage.client.themes.ThemeType;
|
import mage.client.themes.ThemeType;
|
||||||
import mage.client.util.CardLanguage;
|
import mage.client.util.*;
|
||||||
import mage.client.util.ClientDefaultSettings;
|
|
||||||
import mage.client.util.GUISizeHelper;
|
|
||||||
import mage.client.util.ImageHelper;
|
|
||||||
import mage.client.util.audio.MusicPlayer;
|
import mage.client.util.audio.MusicPlayer;
|
||||||
import mage.client.util.gui.BufferedImageBuilder;
|
import mage.client.util.gui.BufferedImageBuilder;
|
||||||
import mage.client.util.gui.GuiDisplayUtil;
|
import mage.client.util.gui.GuiDisplayUtil;
|
||||||
|
|
@ -37,7 +34,6 @@ import java.util.concurrent.locks.ReadWriteLock;
|
||||||
import java.util.concurrent.locks.ReentrantReadWriteLock;
|
import java.util.concurrent.locks.ReentrantReadWriteLock;
|
||||||
import java.util.prefs.BackingStoreException;
|
import java.util.prefs.BackingStoreException;
|
||||||
import java.util.prefs.Preferences;
|
import java.util.prefs.Preferences;
|
||||||
import java.util.stream.Collectors;
|
|
||||||
|
|
||||||
import static mage.client.constants.Constants.AUTO_TARGET_NON_FEEL_BAD;
|
import static mage.client.constants.Constants.AUTO_TARGET_NON_FEEL_BAD;
|
||||||
import static mage.constants.Constants.*;
|
import static mage.constants.Constants.*;
|
||||||
|
|
@ -89,8 +85,7 @@ public class PreferencesDialog extends javax.swing.JDialog {
|
||||||
public static final String KEY_CARD_IMAGES_SAVE_TO_ZIP = "cardImagesSaveToZip";
|
public static final String KEY_CARD_IMAGES_SAVE_TO_ZIP = "cardImagesSaveToZip";
|
||||||
public static final String KEY_CARD_IMAGES_PREF_LANGUAGE = "cardImagesPreferredImageLaguage";
|
public static final String KEY_CARD_IMAGES_PREF_LANGUAGE = "cardImagesPreferredImageLaguage";
|
||||||
|
|
||||||
public static final String KEY_CARD_RENDERING_IMAGE_MODE = "cardRenderingFallback";
|
public static final String KEY_CARD_RENDERING_IMAGE_MODE = "cardRenderingMode";
|
||||||
public static final String KEY_CARD_RENDERING_ENABLE_RETRO_FRAMES = "cardRenderingRetroFrames";
|
|
||||||
public static final String KEY_CARD_RENDERING_ICONS_FOR_ABILITIES = "cardRenderingIconsForAbilities";
|
public static final String KEY_CARD_RENDERING_ICONS_FOR_ABILITIES = "cardRenderingIconsForAbilities";
|
||||||
public static final String KEY_CARD_RENDERING_ICONS_FOR_PLAYABLE = "cardRenderingIconsForPlayable";
|
public static final String KEY_CARD_RENDERING_ICONS_FOR_PLAYABLE = "cardRenderingIconsForPlayable";
|
||||||
public static final String KEY_CARD_RENDERING_REMINDER_TEXT = "cardRenderingReminderText";
|
public static final String KEY_CARD_RENDERING_REMINDER_TEXT = "cardRenderingReminderText";
|
||||||
|
|
@ -763,6 +758,7 @@ public class PreferencesDialog extends javax.swing.JDialog {
|
||||||
}
|
}
|
||||||
|
|
||||||
cbPreferredImageLanguage.setModel(new DefaultComboBoxModel<>(CardLanguage.toList()));
|
cbPreferredImageLanguage.setModel(new DefaultComboBoxModel<>(CardLanguage.toList()));
|
||||||
|
cbCardRenderImageFallback.setModel(new DefaultComboBoxModel<>(CardRenderMode.toList()));
|
||||||
}
|
}
|
||||||
|
|
||||||
private void createSizeSetting(Integer position, String key, Integer defaultValue, boolean useExample, String name, String hint) {
|
private void createSizeSetting(Integer position, String key, Integer defaultValue, boolean useExample, String name, String hint) {
|
||||||
|
|
@ -964,14 +960,14 @@ public class PreferencesDialog extends javax.swing.JDialog {
|
||||||
cbPreferredImageLanguage = new javax.swing.JComboBox<>();
|
cbPreferredImageLanguage = new javax.swing.JComboBox<>();
|
||||||
labelPreferredImageLanguage = new javax.swing.JLabel();
|
labelPreferredImageLanguage = new javax.swing.JLabel();
|
||||||
panelCardStyles = new javax.swing.JPanel();
|
panelCardStyles = new javax.swing.JPanel();
|
||||||
cbCardRenderImageFallback = new javax.swing.JCheckBox();
|
|
||||||
cbCardRenderRetroFrames = new javax.swing.JCheckBox();
|
|
||||||
cbCardRenderIconsForAbilities = new javax.swing.JCheckBox();
|
cbCardRenderIconsForAbilities = new javax.swing.JCheckBox();
|
||||||
cbCardRenderIconsForPlayable = new javax.swing.JCheckBox();
|
cbCardRenderIconsForPlayable = new javax.swing.JCheckBox();
|
||||||
jSeparator1 = new javax.swing.JSeparator();
|
jSeparator1 = new javax.swing.JSeparator();
|
||||||
cbCardRenderShowReminderText = new javax.swing.JCheckBox();
|
cbCardRenderShowReminderText = new javax.swing.JCheckBox();
|
||||||
cbCardRenderHideSetSymbol = new javax.swing.JCheckBox();
|
cbCardRenderHideSetSymbol = new javax.swing.JCheckBox();
|
||||||
cbCardRenderShowAbilityTextOverlay = new javax.swing.JCheckBox();
|
cbCardRenderShowAbilityTextOverlay = new javax.swing.JCheckBox();
|
||||||
|
labelRenderMode = new javax.swing.JLabel();
|
||||||
|
cbCardRenderImageFallback = new javax.swing.JComboBox<>();
|
||||||
tabPhases = new javax.swing.JPanel();
|
tabPhases = new javax.swing.JPanel();
|
||||||
jLabelHeadLine = new javax.swing.JLabel();
|
jLabelHeadLine = new javax.swing.JLabel();
|
||||||
jLabelYourTurn = new javax.swing.JLabel();
|
jLabelYourTurn = new javax.swing.JLabel();
|
||||||
|
|
@ -2281,7 +2277,6 @@ public class PreferencesDialog extends javax.swing.JDialog {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
cbPreferredImageLanguage.setMaximumRowCount(20);
|
|
||||||
cbPreferredImageLanguage.setModel(new javax.swing.DefaultComboBoxModel<>(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" }));
|
cbPreferredImageLanguage.setModel(new javax.swing.DefaultComboBoxModel<>(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" }));
|
||||||
|
|
||||||
labelPreferredImageLanguage.setText("Default images language:");
|
labelPreferredImageLanguage.setText("Default images language:");
|
||||||
|
|
@ -2307,7 +2302,7 @@ public class PreferencesDialog extends javax.swing.JDialog {
|
||||||
.add(labelPreferredImageLanguage)
|
.add(labelPreferredImageLanguage)
|
||||||
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
|
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
|
||||||
.add(cbPreferredImageLanguage, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 153, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)))
|
.add(cbPreferredImageLanguage, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 153, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)))
|
||||||
.add(0, 480, Short.MAX_VALUE)))
|
.add(0, 0, Short.MAX_VALUE)))
|
||||||
.addContainerGap())
|
.addContainerGap())
|
||||||
);
|
);
|
||||||
panelCardImagesLayout.setVerticalGroup(
|
panelCardImagesLayout.setVerticalGroup(
|
||||||
|
|
@ -2327,29 +2322,59 @@ public class PreferencesDialog extends javax.swing.JDialog {
|
||||||
);
|
);
|
||||||
|
|
||||||
panelCardStyles.setBorder(javax.swing.BorderFactory.createTitledBorder(javax.swing.BorderFactory.createEtchedBorder(), "Card styles (restart xmage to apply new settings)"));
|
panelCardStyles.setBorder(javax.swing.BorderFactory.createTitledBorder(javax.swing.BorderFactory.createEtchedBorder(), "Card styles (restart xmage to apply new settings)"));
|
||||||
panelCardStyles.setLayout(new javax.swing.BoxLayout(panelCardStyles, javax.swing.BoxLayout.Y_AXIS));
|
|
||||||
|
|
||||||
cbCardRenderImageFallback.setText("Render mode: MTGO style (off) or IMAGE style (on)");
|
|
||||||
panelCardStyles.add(cbCardRenderImageFallback);
|
|
||||||
|
|
||||||
cbCardRenderRetroFrames.setText("Force retro frames (MTGO render mode will use old border for all cards)");
|
|
||||||
panelCardStyles.add(cbCardRenderRetroFrames);
|
|
||||||
|
|
||||||
cbCardRenderIconsForAbilities.setText("Enable card icons for abilities (example: flying, deathtouch)");
|
cbCardRenderIconsForAbilities.setText("Enable card icons for abilities (example: flying, deathtouch)");
|
||||||
panelCardStyles.add(cbCardRenderIconsForAbilities);
|
|
||||||
|
|
||||||
cbCardRenderIconsForPlayable.setText("Enable card icons for playable abilities (example: if you can activate card's ability then show a special icon in the corner)");
|
cbCardRenderIconsForPlayable.setText("Enable card icons for playable abilities (example: if you can activate card's ability then show a special icon in the corner)");
|
||||||
panelCardStyles.add(cbCardRenderIconsForPlayable);
|
|
||||||
panelCardStyles.add(jSeparator1);
|
|
||||||
|
|
||||||
cbCardRenderShowReminderText.setText("Show reminder text in rendered card textboxes");
|
cbCardRenderShowReminderText.setText("Show reminder text in rendered card textboxes");
|
||||||
panelCardStyles.add(cbCardRenderShowReminderText);
|
|
||||||
|
|
||||||
cbCardRenderHideSetSymbol.setText("Hide set symbols on cards (more space on the type line for card types)");
|
cbCardRenderHideSetSymbol.setText("Hide set symbols on cards (more space on the type line for card types)");
|
||||||
panelCardStyles.add(cbCardRenderHideSetSymbol);
|
|
||||||
|
|
||||||
cbCardRenderShowAbilityTextOverlay.setText("Show ability text as overlay in big card view");
|
cbCardRenderShowAbilityTextOverlay.setText("Show ability text as overlay in big card view");
|
||||||
panelCardStyles.add(cbCardRenderShowAbilityTextOverlay);
|
|
||||||
|
labelRenderMode.setText("Render Mode:");
|
||||||
|
labelRenderMode.setToolTipText("<HTML>Image - Renders card image with text overlay<br> MTGO - Renders card frame around card art<br> Forced M15 - Renders all cards in the modern frame<br> Forced Retro - Renders all cards in the retro frame");
|
||||||
|
|
||||||
|
cbCardRenderImageFallback.setModel(new javax.swing.DefaultComboBoxModel<>(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" }));
|
||||||
|
cbCardRenderImageFallback.setToolTipText("<HTML>Image - Renders card image with text overlay<br> MTGO - Renders card frame around card art<br> Forced M15 - Renders all cards in the MTGO style with the modern frame<br> Forced Retro - Renders all cards in the MTGO style with the retro frame");
|
||||||
|
|
||||||
|
org.jdesktop.layout.GroupLayout panelCardStylesLayout = new org.jdesktop.layout.GroupLayout(panelCardStyles);
|
||||||
|
panelCardStyles.setLayout(panelCardStylesLayout);
|
||||||
|
panelCardStylesLayout.setHorizontalGroup(
|
||||||
|
panelCardStylesLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
|
||||||
|
.add(cbCardRenderIconsForAbilities)
|
||||||
|
.add(cbCardRenderIconsForPlayable)
|
||||||
|
.add(jSeparator1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 775, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
|
||||||
|
.add(cbCardRenderShowReminderText)
|
||||||
|
.add(cbCardRenderHideSetSymbol)
|
||||||
|
.add(cbCardRenderShowAbilityTextOverlay)
|
||||||
|
.add(panelCardStylesLayout.createSequentialGroup()
|
||||||
|
.add(6, 6, 6)
|
||||||
|
.add(labelRenderMode)
|
||||||
|
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
|
||||||
|
.add(cbCardRenderImageFallback, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 122, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
|
||||||
|
);
|
||||||
|
panelCardStylesLayout.setVerticalGroup(
|
||||||
|
panelCardStylesLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
|
||||||
|
.add(panelCardStylesLayout.createSequentialGroup()
|
||||||
|
.add(0, 0, 0)
|
||||||
|
.add(panelCardStylesLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
|
||||||
|
.add(labelRenderMode)
|
||||||
|
.add(cbCardRenderImageFallback, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
|
||||||
|
.add(0, 0, 0)
|
||||||
|
.add(cbCardRenderIconsForAbilities)
|
||||||
|
.add(0, 0, 0)
|
||||||
|
.add(cbCardRenderIconsForPlayable)
|
||||||
|
.add(0, 0, 0)
|
||||||
|
.add(jSeparator1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
|
||||||
|
.add(0, 0, 0)
|
||||||
|
.add(cbCardRenderShowReminderText)
|
||||||
|
.add(0, 0, 0)
|
||||||
|
.add(cbCardRenderHideSetSymbol)
|
||||||
|
.add(0, 0, 0)
|
||||||
|
.add(cbCardRenderShowAbilityTextOverlay))
|
||||||
|
);
|
||||||
|
|
||||||
org.jdesktop.layout.GroupLayout tabGuiImagesLayout = new org.jdesktop.layout.GroupLayout(tabGuiImages);
|
org.jdesktop.layout.GroupLayout tabGuiImagesLayout = new org.jdesktop.layout.GroupLayout(tabGuiImages);
|
||||||
tabGuiImages.setLayout(tabGuiImagesLayout);
|
tabGuiImages.setLayout(tabGuiImagesLayout);
|
||||||
|
|
@ -2369,7 +2394,7 @@ public class PreferencesDialog extends javax.swing.JDialog {
|
||||||
.add(panelCardStyles, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
|
.add(panelCardStyles, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
|
||||||
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
|
.addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
|
||||||
.add(panelCardImages, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
|
.add(panelCardImages, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
|
||||||
.addContainerGap(306, Short.MAX_VALUE))
|
.addContainerGap(309, Short.MAX_VALUE))
|
||||||
);
|
);
|
||||||
|
|
||||||
tabsPanel.addTab("GUI Images", tabGuiImages);
|
tabsPanel.addTab("GUI Images", tabGuiImages);
|
||||||
|
|
@ -3040,8 +3065,7 @@ public class PreferencesDialog extends javax.swing.JDialog {
|
||||||
save(prefs, dialog.cbUseRandomBattleImage, KEY_BATTLEFIELD_IMAGE_RANDOM, "true", "false");
|
save(prefs, dialog.cbUseRandomBattleImage, KEY_BATTLEFIELD_IMAGE_RANDOM, "true", "false");
|
||||||
|
|
||||||
// rendering
|
// rendering
|
||||||
save(prefs, dialog.cbCardRenderImageFallback, KEY_CARD_RENDERING_IMAGE_MODE, "true", "false");
|
save(prefs, dialog.cbCardRenderImageFallback, KEY_CARD_RENDERING_IMAGE_MODE);
|
||||||
save(prefs, dialog.cbCardRenderRetroFrames, KEY_CARD_RENDERING_ENABLE_RETRO_FRAMES, "true", "false");
|
|
||||||
save(prefs, dialog.cbCardRenderIconsForAbilities, KEY_CARD_RENDERING_ICONS_FOR_ABILITIES, "true", "false");
|
save(prefs, dialog.cbCardRenderIconsForAbilities, KEY_CARD_RENDERING_ICONS_FOR_ABILITIES, "true", "false");
|
||||||
save(prefs, dialog.cbCardRenderIconsForPlayable, KEY_CARD_RENDERING_ICONS_FOR_PLAYABLE, "true", "false");
|
save(prefs, dialog.cbCardRenderIconsForPlayable, KEY_CARD_RENDERING_ICONS_FOR_PLAYABLE, "true", "false");
|
||||||
save(prefs, dialog.cbCardRenderHideSetSymbol, KEY_CARD_RENDERING_SET_SYMBOL, "true", "false");
|
save(prefs, dialog.cbCardRenderHideSetSymbol, KEY_CARD_RENDERING_SET_SYMBOL, "true", "false");
|
||||||
|
|
@ -3492,8 +3516,7 @@ public class PreferencesDialog extends javax.swing.JDialog {
|
||||||
dialog.cbPreferredImageLanguage.setSelectedItem(MageFrame.getPreferences().get(KEY_CARD_IMAGES_PREF_LANGUAGE, CardLanguage.ENGLISH.getCode()));
|
dialog.cbPreferredImageLanguage.setSelectedItem(MageFrame.getPreferences().get(KEY_CARD_IMAGES_PREF_LANGUAGE, CardLanguage.ENGLISH.getCode()));
|
||||||
|
|
||||||
// rendering settings
|
// rendering settings
|
||||||
load(prefs, dialog.cbCardRenderImageFallback, KEY_CARD_RENDERING_IMAGE_MODE, "true", "false");
|
dialog.cbCardRenderImageFallback.setSelectedItem(MageFrame.getPreferences().get(KEY_CARD_RENDERING_IMAGE_MODE, CardRenderMode.MTGO.toString()));
|
||||||
load(prefs, dialog.cbCardRenderRetroFrames, KEY_CARD_RENDERING_ENABLE_RETRO_FRAMES, "true", "false");
|
|
||||||
load(prefs, dialog.cbCardRenderIconsForAbilities, KEY_CARD_RENDERING_ICONS_FOR_ABILITIES, "true", "true");
|
load(prefs, dialog.cbCardRenderIconsForAbilities, KEY_CARD_RENDERING_ICONS_FOR_ABILITIES, "true", "true");
|
||||||
load(prefs, dialog.cbCardRenderIconsForPlayable, KEY_CARD_RENDERING_ICONS_FOR_PLAYABLE, "true", "true");
|
load(prefs, dialog.cbCardRenderIconsForPlayable, KEY_CARD_RENDERING_ICONS_FOR_PLAYABLE, "true", "true");
|
||||||
load(prefs, dialog.cbCardRenderHideSetSymbol, KEY_CARD_RENDERING_SET_SYMBOL, "true");
|
load(prefs, dialog.cbCardRenderHideSetSymbol, KEY_CARD_RENDERING_SET_SYMBOL, "true");
|
||||||
|
|
@ -3817,15 +3840,7 @@ public class PreferencesDialog extends javax.swing.JDialog {
|
||||||
}
|
}
|
||||||
|
|
||||||
public static int getRenderMode() {
|
public static int getRenderMode() {
|
||||||
if (getCachedValue(PreferencesDialog.KEY_CARD_RENDERING_IMAGE_MODE, "false").equals("false")) {
|
return CardRenderMode.fromString(getCachedValue(PreferencesDialog.KEY_CARD_RENDERING_IMAGE_MODE, CardRenderMode.MTGO.toString())).getId();
|
||||||
return 0; // mtgo
|
|
||||||
} else {
|
|
||||||
return 1; // image
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public static boolean getRenderRetroFrames() {
|
|
||||||
return (getCachedValue(PreferencesDialog.KEY_CARD_RENDERING_ENABLE_RETRO_FRAMES, "true").endsWith("true"));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static boolean getRenderIconsForAbilities() {
|
public static boolean getRenderIconsForAbilities() {
|
||||||
|
|
@ -4055,8 +4070,7 @@ public class PreferencesDialog extends javax.swing.JDialog {
|
||||||
private javax.swing.JCheckBox cbCardRenderHideSetSymbol;
|
private javax.swing.JCheckBox cbCardRenderHideSetSymbol;
|
||||||
private javax.swing.JCheckBox cbCardRenderIconsForAbilities;
|
private javax.swing.JCheckBox cbCardRenderIconsForAbilities;
|
||||||
private javax.swing.JCheckBox cbCardRenderIconsForPlayable;
|
private javax.swing.JCheckBox cbCardRenderIconsForPlayable;
|
||||||
private javax.swing.JCheckBox cbCardRenderImageFallback;
|
private javax.swing.JComboBox<String> cbCardRenderImageFallback;
|
||||||
private javax.swing.JCheckBox cbCardRenderRetroFrames;
|
|
||||||
private javax.swing.JCheckBox cbCardRenderShowAbilityTextOverlay;
|
private javax.swing.JCheckBox cbCardRenderShowAbilityTextOverlay;
|
||||||
private javax.swing.JCheckBox cbCardRenderShowReminderText;
|
private javax.swing.JCheckBox cbCardRenderShowReminderText;
|
||||||
private javax.swing.JCheckBox cbConfirmEmptyManaPool;
|
private javax.swing.JCheckBox cbConfirmEmptyManaPool;
|
||||||
|
|
@ -4188,6 +4202,7 @@ public class PreferencesDialog extends javax.swing.JDialog {
|
||||||
private javax.swing.JLabel labelNextTurn;
|
private javax.swing.JLabel labelNextTurn;
|
||||||
private javax.swing.JLabel labelPreferredImageLanguage;
|
private javax.swing.JLabel labelPreferredImageLanguage;
|
||||||
private javax.swing.JLabel labelPriorEnd;
|
private javax.swing.JLabel labelPriorEnd;
|
||||||
|
private javax.swing.JLabel labelRenderMode;
|
||||||
private javax.swing.JLabel labelSizeGroup1;
|
private javax.swing.JLabel labelSizeGroup1;
|
||||||
private javax.swing.JLabel labelSizeGroup2;
|
private javax.swing.JLabel labelSizeGroup2;
|
||||||
private javax.swing.JLabel labelSkipStep;
|
private javax.swing.JLabel labelSkipStep;
|
||||||
|
|
|
||||||
|
|
@ -116,11 +116,9 @@
|
||||||
<Component class="javax.swing.JComboBox" name="comboRenderMode">
|
<Component class="javax.swing.JComboBox" name="comboRenderMode">
|
||||||
<Properties>
|
<Properties>
|
||||||
<Property name="model" type="javax.swing.ComboBoxModel" editor="org.netbeans.modules.form.editors2.ComboBoxModelEditor">
|
<Property name="model" type="javax.swing.ComboBoxModel" editor="org.netbeans.modules.form.editors2.ComboBoxModelEditor">
|
||||||
<StringArray count="2">
|
<StringArray count="0"/>
|
||||||
<StringItem index="0" value="MTGO"/>
|
|
||||||
<StringItem index="1" value="Image"/>
|
|
||||||
</StringArray>
|
|
||||||
</Property>
|
</Property>
|
||||||
|
<Property name="toolTipText" type="java.lang.String" value="<HTML>Image - Renders card image with text overlay<br> MTGO - Renders card frame around card art<br> Forced M15 - Renders all cards in the MTGO style with the modern frame<br> Forced Retro - Renders all cards in the MTGO style with the retro frame"/>
|
||||||
</Properties>
|
</Properties>
|
||||||
<Events>
|
<Events>
|
||||||
<EventHandler event="itemStateChanged" listener="java.awt.event.ItemListener" parameters="java.awt.event.ItemEvent" handler="comboRenderModeItemStateChanged"/>
|
<EventHandler event="itemStateChanged" listener="java.awt.event.ItemListener" parameters="java.awt.event.ItemEvent" handler="comboRenderModeItemStateChanged"/>
|
||||||
|
|
|
||||||
|
|
@ -16,7 +16,7 @@ import mage.client.cards.BigCard;
|
||||||
import mage.client.game.PlayAreaPanel;
|
import mage.client.game.PlayAreaPanel;
|
||||||
import mage.client.game.PlayerPanelExt;
|
import mage.client.game.PlayerPanelExt;
|
||||||
import mage.client.themes.ThemeType;
|
import mage.client.themes.ThemeType;
|
||||||
import mage.client.util.ClientEventType;
|
import mage.client.util.*;
|
||||||
import mage.client.util.Event;
|
import mage.client.util.Event;
|
||||||
import mage.client.util.GUISizeHelper;
|
import mage.client.util.GUISizeHelper;
|
||||||
import mage.client.util.Listener;
|
import mage.client.util.Listener;
|
||||||
|
|
@ -82,6 +82,7 @@ public class TestCardRenderDialog extends MageDialog {
|
||||||
getRootPane().setDefaultButton(buttonCancel);
|
getRootPane().setDefaultButton(buttonCancel);
|
||||||
|
|
||||||
// init render mode
|
// init render mode
|
||||||
|
this.comboRenderMode.setModel(new DefaultComboBoxModel<>(CardRenderMode.toList()));
|
||||||
this.comboRenderMode.setSelectedIndex(PreferencesDialog.getRenderMode());
|
this.comboRenderMode.setSelectedIndex(PreferencesDialog.getRenderMode());
|
||||||
|
|
||||||
// init themes list
|
// init themes list
|
||||||
|
|
@ -431,6 +432,7 @@ public class TestCardRenderDialog extends MageDialog {
|
||||||
cardViews.add(createPermanentCard(game, playerYou.getId(), "RNA", "185", 0, 0, 0, true, false, null)); // Judith, the Scourge Diva
|
cardViews.add(createPermanentCard(game, playerYou.getId(), "RNA", "185", 0, 0, 0, true, false, null)); // Judith, the Scourge Diva
|
||||||
cardViews.add(createHandCard(game, playerYou.getId(), "DIS", "153")); // Odds // Ends (split card)
|
cardViews.add(createHandCard(game, playerYou.getId(), "DIS", "153")); // Odds // Ends (split card)
|
||||||
cardViews.add(createHandCard(game, playerYou.getId(), "ELD", "38")); // Animating Faerie (adventure card)
|
cardViews.add(createHandCard(game, playerYou.getId(), "ELD", "38")); // Animating Faerie (adventure card)
|
||||||
|
cardViews.add(createHandCard(game, playerYou.getId(), "LEA", "278")); // Bayou (retro frame)
|
||||||
cardViews.add(createFaceDownCard(game, playerOpponent.getId(), "ELD", "38", false, false, false)); // face down
|
cardViews.add(createFaceDownCard(game, playerOpponent.getId(), "ELD", "38", false, false, false)); // face down
|
||||||
cardViews.add(createFaceDownCard(game, playerOpponent.getId(), "ELD", "38", true, false, true)); // morphed
|
cardViews.add(createFaceDownCard(game, playerOpponent.getId(), "ELD", "38", true, false, true)); // morphed
|
||||||
cardViews.add(createFaceDownCard(game, playerOpponent.getId(), "ELD", "38", false, true, false)); // manifested
|
cardViews.add(createFaceDownCard(game, playerOpponent.getId(), "ELD", "38", false, true, false)); // manifested
|
||||||
|
|
@ -635,7 +637,7 @@ public class TestCardRenderDialog extends MageDialog {
|
||||||
|
|
||||||
labelRenderMode.setText("Render mode:");
|
labelRenderMode.setText("Render mode:");
|
||||||
|
|
||||||
comboRenderMode.setModel(new javax.swing.DefaultComboBoxModel<>(new String[] { "MTGO", "Image" }));
|
comboRenderMode.setToolTipText("<HTML>Image - Renders card image with text overlay<br> MTGO - Renders card frame around card art<br> Forced M15 - Renders all cards in the MTGO style with the modern frame<br> Forced Retro - Renders all cards in the MTGO style with the retro frame");
|
||||||
comboRenderMode.addItemListener(new java.awt.event.ItemListener() {
|
comboRenderMode.addItemListener(new java.awt.event.ItemListener() {
|
||||||
public void itemStateChanged(java.awt.event.ItemEvent evt) {
|
public void itemStateChanged(java.awt.event.ItemEvent evt) {
|
||||||
comboRenderModeItemStateChanged(evt);
|
comboRenderModeItemStateChanged(evt);
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,59 @@
|
||||||
|
package mage.client.util;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public enum CardRenderMode {
|
||||||
|
|
||||||
|
MTGO("MTGO", 0),
|
||||||
|
IMAGE("Image", 1),
|
||||||
|
FORCED_M15("Forced M15", 2),
|
||||||
|
FORCED_RETRO("Forced Retro", 3);
|
||||||
|
|
||||||
|
private final String text;
|
||||||
|
private final int id;
|
||||||
|
|
||||||
|
CardRenderMode(String text, int id) {
|
||||||
|
this.text = text;
|
||||||
|
this.id = id;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return text;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getText() {
|
||||||
|
return text;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getId() {
|
||||||
|
return id;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static String[] toList() {
|
||||||
|
List<String> list = new ArrayList<>();
|
||||||
|
for (CardRenderMode mode : CardRenderMode.values()) {
|
||||||
|
list.add(mode.toString());
|
||||||
|
}
|
||||||
|
return list.toArray(new String[0]);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static CardRenderMode fromId(int id) {
|
||||||
|
for (CardRenderMode mode : CardRenderMode.values()) {
|
||||||
|
if (mode.getId() == id) {
|
||||||
|
return mode;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return MTGO;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static CardRenderMode fromString(String text) {
|
||||||
|
for (CardRenderMode mode : CardRenderMode.values()) {
|
||||||
|
if (mode.text.equals(text)) {
|
||||||
|
return mode;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return MTGO;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -50,6 +50,7 @@ public class CardPanelRenderModeMTGO extends CardPanel {
|
||||||
private CardRenderer cardRenderer;
|
private CardRenderer cardRenderer;
|
||||||
|
|
||||||
private int updateArtImageStamp;
|
private int updateArtImageStamp;
|
||||||
|
private final int cardRenderMode;
|
||||||
|
|
||||||
private static class ImageKey {
|
private static class ImageKey {
|
||||||
final BufferedImage artImage;
|
final BufferedImage artImage;
|
||||||
|
|
@ -143,12 +144,13 @@ public class CardPanelRenderModeMTGO extends CardPanel {
|
||||||
}
|
}
|
||||||
|
|
||||||
public CardPanelRenderModeMTGO(CardView newGameCard, UUID gameId, final boolean loadImage, ActionCallback callback,
|
public CardPanelRenderModeMTGO(CardView newGameCard, UUID gameId, final boolean loadImage, ActionCallback callback,
|
||||||
final boolean foil, Dimension dimension, boolean needFullPermanentRender) {
|
final boolean foil, Dimension dimension, boolean needFullPermanentRender, int renderMode) {
|
||||||
// Call to super
|
// Call to super
|
||||||
super(newGameCard, gameId, loadImage, callback, foil, dimension, needFullPermanentRender);
|
super(newGameCard, gameId, loadImage, callback, foil, dimension, needFullPermanentRender);
|
||||||
|
|
||||||
// Renderer
|
// Renderer
|
||||||
cardRenderer = cardRendererFactory.create(getGameCard());
|
cardRenderMode = renderMode;
|
||||||
|
cardRenderer = cardRendererFactory.create(getGameCard(), cardRenderMode);
|
||||||
|
|
||||||
// Draw the parts
|
// Draw the parts
|
||||||
initialDraw();
|
initialDraw();
|
||||||
|
|
@ -265,7 +267,7 @@ public class CardPanelRenderModeMTGO extends CardPanel {
|
||||||
|
|
||||||
// Update renderer
|
// Update renderer
|
||||||
cardImage = null;
|
cardImage = null;
|
||||||
cardRenderer = cardRendererFactory.create(getGameCard());
|
cardRenderer = cardRendererFactory.create(getGameCard(), cardRenderMode);
|
||||||
cardRenderer.setArtImage(artImage);
|
cardRenderer.setArtImage(artImage);
|
||||||
|
|
||||||
// Repaint
|
// Repaint
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,7 @@ package org.mage.card.arcane;
|
||||||
|
|
||||||
import mage.cards.FrameStyle;
|
import mage.cards.FrameStyle;
|
||||||
import mage.client.dialog.PreferencesDialog;
|
import mage.client.dialog.PreferencesDialog;
|
||||||
|
import mage.client.util.CardRenderMode;
|
||||||
import mage.view.CardView;
|
import mage.view.CardView;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -13,12 +14,27 @@ public class CardRendererFactory {
|
||||||
}
|
}
|
||||||
|
|
||||||
public CardRenderer create(CardView card) {
|
public CardRenderer create(CardView card) {
|
||||||
|
return create(card, -1);
|
||||||
|
}
|
||||||
|
|
||||||
|
public CardRenderer create(CardView card, int renderModeOverride) {
|
||||||
if (card.isSplitCard()) {
|
if (card.isSplitCard()) {
|
||||||
return new ModernSplitCardRenderer(card);
|
return new ModernSplitCardRenderer(card);
|
||||||
} else if (card.getFrameStyle().equals(FrameStyle.RETRO) || card.getFrameStyle().equals(FrameStyle.LEA_ORIGINAL_DUAL_LAND_ART_BASIC) || PreferencesDialog.getRenderRetroFrames()) {
|
} else if (shouldRenderRetro(card, renderModeOverride)) {
|
||||||
|
// TODO: implement split card renderer for retro cards
|
||||||
return new RetroCardRenderer(card);
|
return new RetroCardRenderer(card);
|
||||||
} else {
|
} else {
|
||||||
return new ModernCardRenderer(card);
|
return new ModernCardRenderer(card);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static boolean shouldRenderRetro(CardView card, int renderModeOverride) {
|
||||||
|
int renderMode = PreferencesDialog.getRenderMode();
|
||||||
|
if (renderModeOverride != -1) {
|
||||||
|
renderMode = renderModeOverride;
|
||||||
|
}
|
||||||
|
boolean renderMTGO = (card.getFrameStyle().equals(FrameStyle.RETRO) || card.getFrameStyle().equals(FrameStyle.LEA_ORIGINAL_DUAL_LAND_ART_BASIC)) && renderMode == CardRenderMode.MTGO.ordinal();
|
||||||
|
boolean forcedRetro = renderMode == CardRenderMode.FORCED_RETRO.ordinal();
|
||||||
|
return renderMTGO || forcedRetro;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@ package org.mage.plugins.card;
|
||||||
import mage.cards.MageCard;
|
import mage.cards.MageCard;
|
||||||
import mage.cards.MagePermanent;
|
import mage.cards.MagePermanent;
|
||||||
import mage.cards.action.ActionCallback;
|
import mage.cards.action.ActionCallback;
|
||||||
import mage.client.util.GUISizeHelper;
|
import mage.client.util.*;
|
||||||
import mage.interfaces.plugin.CardPlugin;
|
import mage.interfaces.plugin.CardPlugin;
|
||||||
import mage.view.CardView;
|
import mage.view.CardView;
|
||||||
import mage.view.CounterView;
|
import mage.view.CounterView;
|
||||||
|
|
@ -35,6 +35,8 @@ import java.util.List;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.concurrent.TimeUnit;
|
import java.util.concurrent.TimeUnit;
|
||||||
|
|
||||||
|
import static mage.client.util.CardRenderMode.*;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* {@link CardPlugin} implementation.
|
* {@link CardPlugin} implementation.
|
||||||
*
|
*
|
||||||
|
|
@ -102,16 +104,19 @@ public class CardPluginImpl implements CardPlugin {
|
||||||
* yet, so use old component based rendering for the split cards.
|
* yet, so use old component based rendering for the split cards.
|
||||||
*/
|
*/
|
||||||
private CardPanel makeCardPanel(CardView view, UUID gameId, boolean loadImage, ActionCallback callback,
|
private CardPanel makeCardPanel(CardView view, UUID gameId, boolean loadImage, ActionCallback callback,
|
||||||
boolean isFoil, Dimension dimension, int renderMode, boolean needFullPermanentRender) {
|
boolean isFoil, Dimension dimension, int renderModeId, boolean needFullPermanentRender) {
|
||||||
switch (renderMode) {
|
CardRenderMode cardRenderMode = CardRenderMode.fromId(renderModeId);
|
||||||
case 0:
|
switch (cardRenderMode) {
|
||||||
|
case MTGO:
|
||||||
|
case FORCED_M15:
|
||||||
|
case FORCED_RETRO:
|
||||||
return new CardPanelRenderModeMTGO(view, gameId, loadImage, callback, isFoil, dimension,
|
return new CardPanelRenderModeMTGO(view, gameId, loadImage, callback, isFoil, dimension,
|
||||||
needFullPermanentRender);
|
needFullPermanentRender, renderModeId);
|
||||||
case 1:
|
case IMAGE:
|
||||||
return new CardPanelRenderModeImage(view, gameId, loadImage, callback, isFoil, dimension,
|
return new CardPanelRenderModeImage(view, gameId, loadImage, callback, isFoil, dimension,
|
||||||
needFullPermanentRender);
|
needFullPermanentRender);
|
||||||
default:
|
default:
|
||||||
throw new IllegalStateException("Unknown render mode " + renderMode);
|
throw new IllegalStateException("Unknown render mode " + cardRenderMode);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue