mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-17 11:18:01 +00:00
Add Disable Card Images Option
This commit is contained in:
@@ -3,6 +3,9 @@ package forge;
|
||||
import com.google.common.cache.CacheLoader;
|
||||
|
||||
import forge.error.BugReporter;
|
||||
import forge.model.FModel;
|
||||
import forge.properties.ForgePreferences;
|
||||
|
||||
import javax.imageio.ImageIO;
|
||||
|
||||
import java.awt.image.BufferedImage;
|
||||
@@ -12,6 +15,9 @@ import java.io.IOException;
|
||||
final class ImageLoader extends CacheLoader<String, BufferedImage> {
|
||||
@Override
|
||||
public BufferedImage load(String key) {
|
||||
if (FModel.getPreferences().getPrefBoolean(ForgePreferences.FPref.UI_DISABLE_CARD_IMAGES))
|
||||
return null;
|
||||
|
||||
File file = ImageKeys.getImageFile(key);
|
||||
if (file != null) {
|
||||
if (!file.exists()) {
|
||||
|
||||
@@ -131,6 +131,7 @@ public enum CSubmenuPreferences implements ICDoc {
|
||||
lstControls.add(Pair.of(view.getCbEnableNonLegalCards(), FPref.UI_LOAD_NONLEGAL_CARDS));
|
||||
lstControls.add(Pair.of(view.getCbUseExperimentalNetworkStream(), FPref.UI_NETPLAY_COMPAT));
|
||||
lstControls.add(Pair.of(view.getCbImageFetcher(), FPref.UI_ENABLE_ONLINE_IMAGE_FETCHER));
|
||||
lstControls.add(Pair.of(view.getCbDisableCardImages(), FPref.UI_DISABLE_CARD_IMAGES));
|
||||
lstControls.add(Pair.of(view.getCbDisplayFoil(), FPref.UI_OVERLAY_FOIL_EFFECT));
|
||||
lstControls.add(Pair.of(view.getCbRandomFoil(), FPref.UI_RANDOM_FOIL));
|
||||
lstControls.add(Pair.of(view.getCbEnableSounds(), FPref.UI_ENABLE_SOUNDS));
|
||||
|
||||
@@ -80,6 +80,7 @@ public enum VSubmenuPreferences implements IVSubmenu<CSubmenuPreferences> {
|
||||
private final JCheckBox cbSROptimize = new OptionsCheckBox(localizer.getMessage("cbSROptimize"));
|
||||
private final JCheckBox cbFilteredHands = new OptionsCheckBox(localizer.getMessage("cbFilteredHands"));
|
||||
private final JCheckBox cbImageFetcher = new OptionsCheckBox(localizer.getMessage("cbImageFetcher"));
|
||||
private final JCheckBox cbDisableCardImages = new OptionsCheckBox(localizer.getMessage("lblDisableCardImages"));
|
||||
private final JCheckBox cbCloneImgSource = new OptionsCheckBox(localizer.getMessage("cbCloneImgSource"));
|
||||
private final JCheckBox cbScaleLarger = new OptionsCheckBox(localizer.getMessage("cbScaleLarger"));
|
||||
private final JCheckBox cbRenderBlackCardBorders = new OptionsCheckBox(localizer.getMessage("cbRenderBlackCardBorders"));
|
||||
@@ -313,6 +314,9 @@ public enum VSubmenuPreferences implements IVSubmenu<CSubmenuPreferences> {
|
||||
pnlPrefs.add(cbImageFetcher, titleConstraints);
|
||||
pnlPrefs.add(new NoteLabel(localizer.getMessage("nlImageFetcher")), descriptionConstraints);
|
||||
|
||||
pnlPrefs.add(cbDisableCardImages, titleConstraints);
|
||||
pnlPrefs.add(new NoteLabel(localizer.getMessage("nlDisableCardImages")), descriptionConstraints);
|
||||
|
||||
pnlPrefs.add(cbDisplayFoil, titleConstraints);
|
||||
pnlPrefs.add(new NoteLabel(localizer.getMessage("nlDisplayFoil")), descriptionConstraints);
|
||||
|
||||
@@ -617,6 +621,11 @@ public enum VSubmenuPreferences implements IVSubmenu<CSubmenuPreferences> {
|
||||
return cbImageFetcher;
|
||||
}
|
||||
|
||||
/** @return {@link javax.swing.JCheckBox} */
|
||||
public JCheckBox getCbDisableCardImages() {
|
||||
return cbDisableCardImages;
|
||||
}
|
||||
|
||||
/** @return {@link javax.swing.JCheckBox} */
|
||||
public JCheckBox getCbDisplayFoil() {
|
||||
return cbDisplayFoil;
|
||||
|
||||
@@ -38,6 +38,7 @@ import forge.item.InventoryItem;
|
||||
import forge.item.PaperCard;
|
||||
import forge.model.FModel;
|
||||
import forge.properties.ForgeConstants;
|
||||
import forge.properties.ForgePreferences;
|
||||
import forge.util.ImageUtil;
|
||||
import forge.util.TextUtil;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
@@ -230,12 +231,16 @@ public class ImageCache {
|
||||
return image;
|
||||
}
|
||||
public static void preloadCache(Iterable<String> keys) {
|
||||
if (FModel.getPreferences().getPrefBoolean(ForgePreferences.FPref.UI_DISABLE_CARD_IMAGES))
|
||||
return;
|
||||
for (String imageKey : keys){
|
||||
if(getImage(imageKey, false) == null)
|
||||
System.err.println("could not load card image:"+imageKey);
|
||||
}
|
||||
}
|
||||
public static void preloadCache(Deck deck) {
|
||||
if (FModel.getPreferences().getPrefBoolean(ForgePreferences.FPref.UI_DISABLE_CARD_IMAGES))
|
||||
return;
|
||||
if(deck == null||!Forge.enablePreloadExtendedArt)
|
||||
return;
|
||||
for (PaperCard p : deck.getAllCardsInASinglePool().toFlatList()) {
|
||||
|
||||
@@ -14,7 +14,9 @@ import forge.FThreads;
|
||||
|
||||
import forge.Forge;
|
||||
import forge.ImageKeys;
|
||||
import forge.model.FModel;
|
||||
import forge.properties.ForgeConstants;
|
||||
import forge.properties.ForgePreferences;
|
||||
import forge.util.FileUtil;
|
||||
import forge.util.TextUtil;
|
||||
import org.apache.commons.lang3.tuple.Pair;
|
||||
@@ -27,6 +29,9 @@ final class ImageLoader extends CacheLoader<String, Texture> {
|
||||
Texture n;
|
||||
@Override
|
||||
public Texture load(String key) {
|
||||
if (FModel.getPreferences().getPrefBoolean(ForgePreferences.FPref.UI_DISABLE_CARD_IMAGES))
|
||||
return null;
|
||||
|
||||
boolean extendedArt = isBorderless(key) && Forge.enableUIMask.equals("Full");
|
||||
boolean textureFilter = Forge.isTextureFilteringEnabled();
|
||||
File file = ImageKeys.getImageFile(key);
|
||||
|
||||
@@ -12,6 +12,7 @@ import forge.assets.FSkin;
|
||||
import forge.assets.FSkinColor;
|
||||
import forge.assets.FSkinFont;
|
||||
import forge.assets.FSkinImage;
|
||||
import forge.assets.ImageCache;
|
||||
import forge.game.GameLogEntryType;
|
||||
import forge.model.FModel;
|
||||
import forge.properties.ForgeConstants;
|
||||
@@ -332,6 +333,16 @@ public class SettingsPage extends TabPage<SettingsScreen> {
|
||||
3);
|
||||
}
|
||||
//Graphic Options
|
||||
lstSettings.addItem(new BooleanSetting(FPref.UI_DISABLE_CARD_IMAGES,
|
||||
localizer.getMessage("lblDisableCardImages"),
|
||||
localizer.getMessage("nlDisableCardImages")) {
|
||||
@Override
|
||||
public void select() {
|
||||
super.select();
|
||||
ImageCache.disposeTexture();
|
||||
}
|
||||
},
|
||||
4);
|
||||
lstSettings.addItem(new BooleanSetting(FPref.UI_ENABLE_ONLINE_IMAGE_FETCHER,
|
||||
localizer.getMessage("cbImageFetcher"),
|
||||
localizer.getMessage("nlImageFetcher")),
|
||||
|
||||
@@ -1011,6 +1011,8 @@ lblEnableUnknownCards=Erlaube unbekannte Karten
|
||||
nlEnableUnknownCards=Erlaube unbekannte Karten von unbekannten Sets. (Erfordert Neustart)
|
||||
lblEnableNonLegalCards=Enable Non-Legal Cards
|
||||
nlEnableNonLegalCards=Enable Non-Legal Cards like Un-sets and PlayTest Cards. (Requires restart)
|
||||
lblDisableCardImages=Disable Card Images
|
||||
nlDisableCardImages=When enabled, Forge will not display card images.
|
||||
lblExperimentalNetworkCompatibility=Experimentelle Netzwerkkompatibilität
|
||||
nlExperimentalNetworkCompatibility=Forge wechselt auf kompatiblen Netzwerk-Stream. (Im Zweifel bitte ausschalten)
|
||||
lblDisposeTextures=Texturen anordnen
|
||||
|
||||
@@ -1011,6 +1011,8 @@ lblEnableUnknownCards=Enable Unknown Cards
|
||||
nlEnableUnknownCards=Enable Unknown Cards to be loaded to Unknown Set. (Requires restart)
|
||||
lblEnableNonLegalCards=Enable Non-Legal Cards
|
||||
nlEnableNonLegalCards=Enable Non-Legal Cards like Un-sets and PlayTest Cards. (Requires restart)
|
||||
lblDisableCardImages=Disable Card Images
|
||||
nlDisableCardImages=When enabled, Forge will not display card images.
|
||||
lblExperimentalNetworkCompatibility=Experimental Network Compatibility
|
||||
nlExperimentalNetworkCompatibility=Forge switches to compatible network stream. (If unsure, turn OFF this option)
|
||||
lblDisposeTextures=Dispose Textures
|
||||
|
||||
@@ -1011,6 +1011,8 @@ lblEnableUnknownCards=Habilitar cartas desconocidas
|
||||
nlEnableUnknownCards=Habilitar que las cartas desconocidas se carguen en el Unknown Set. (Requiere reinicio)
|
||||
lblEnableNonLegalCards=Enable Non-Legal Cards
|
||||
nlEnableNonLegalCards=Enable Non-Legal Cards like Un-sets and PlayTest Cards. (Requires restart)
|
||||
lblDisableCardImages=Disable Card Images
|
||||
nlDisableCardImages=When enabled, Forge will not display card images.
|
||||
lblExperimentalNetworkCompatibility=Compatibilidad de red experimental
|
||||
nlExperimentalNetworkCompatibility=Forge cambia a un flujo de red compatible. (Si no estás seguro, deshabilita esta opción)
|
||||
lblDisposeTextures=Desechar texturas
|
||||
|
||||
@@ -1011,6 +1011,8 @@ lblEnableUnknownCards=Enable Unknown Cards
|
||||
nlEnableUnknownCards=Enable Unknown Cards to be loaded to Unknown Set. (Requires restart)
|
||||
lblEnableNonLegalCards=Enable Non-Legal Cards
|
||||
nlEnableNonLegalCards=Enable Non-Legal Cards like Un-sets and PlayTest Cards. (Requires restart)
|
||||
lblDisableCardImages=Disable Card Images
|
||||
nlDisableCardImages=When enabled, Forge will not display card images.
|
||||
lblExperimentalNetworkCompatibility=Experimental Network Compatibility
|
||||
nlExperimentalNetworkCompatibility=Forge switches to compatible network stream. (If unsure, turn OFF this option)
|
||||
lblDisposeTextures=Dispose Textures
|
||||
|
||||
@@ -1011,6 +1011,8 @@ lblEnableUnknownCards=未知のカードを有効にする
|
||||
nlEnableUnknownCards=未知のカードを未知のセットにまとめます。(再起動必須)
|
||||
lblEnableNonLegalCards=Enable Non-Legal Cards
|
||||
nlEnableNonLegalCards=Enable Non-Legal Cards like Un-sets and PlayTest Cards. (Requires restart)
|
||||
lblDisableCardImages=Disable Card Images
|
||||
nlDisableCardImages=When enabled, Forge will not display card images.
|
||||
lblExperimentalNetworkCompatibility=実験的なネットワークコンパチビリティ
|
||||
nlExperimentalNetworkCompatibility=Forge がコンパチブルネットワークストリーミに切り替えます。 (分からない場合はオフにしてください)
|
||||
lblDisposeTextures=テキスチャー廃棄
|
||||
|
||||
@@ -1010,6 +1010,8 @@ lblEnableUnknownCards=启用未知卡牌
|
||||
nlEnableUnknownCards=将未知卡牌加载到未知系列中。(需要重启)
|
||||
lblEnableNonLegalCards=Enable Non-Legal Cards
|
||||
nlEnableNonLegalCards=Enable Non-Legal Cards like Un-sets and PlayTest Cards. (Requires restart)
|
||||
lblDisableCardImages=Disable Card Images
|
||||
nlDisableCardImages=When enabled, Forge will not display card images.
|
||||
lblExperimentalNetworkCompatibility=实验性网络兼容
|
||||
nlExperimentalNetworkCompatibility=Forge将切换为兼容性的网络流。(如果不清楚此选项的作用,请关闭此选项)
|
||||
lblDisposeTextures=释放纹理
|
||||
|
||||
@@ -81,6 +81,7 @@ public class ForgePreferences extends PreferencesStore<ForgePreferences.FPref> {
|
||||
UI_OVERLAY_CARD_ID ("true"),
|
||||
UI_OVERLAY_ABILITY_ICONS("true"),
|
||||
UI_ENABLE_ONLINE_IMAGE_FETCHER ("false"),
|
||||
UI_DISABLE_CARD_IMAGES ("false"),
|
||||
UI_IMAGE_CACHE_MAXIMUM("400"),
|
||||
UI_OVERLAY_FOIL_EFFECT ("true"),
|
||||
UI_HIDE_REMINDER_TEXT ("false"),
|
||||
|
||||
@@ -43,6 +43,9 @@ public abstract class ImageFetcher {
|
||||
public void fetchImage(final String imageKey, final Callback callback) {
|
||||
FThreads.assertExecutedByEdt(true);
|
||||
|
||||
if (FModel.getPreferences().getPrefBoolean(ForgePreferences.FPref.UI_DISABLE_CARD_IMAGES))
|
||||
return;
|
||||
|
||||
if (!FModel.getPreferences().getPrefBoolean(ForgePreferences.FPref.UI_ENABLE_ONLINE_IMAGE_FETCHER))
|
||||
return;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user