mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-16 10:48:00 +00:00
update progressbar, update boosterdraft readfile
also removed unneccesary settings since forge uses shaders for round corners for rendering borders
This commit is contained in:
@@ -48,7 +48,6 @@ import forge.sound.SoundSystem;
|
||||
import forge.toolbox.*;
|
||||
import forge.util.*;
|
||||
|
||||
import java.io.File;
|
||||
import java.nio.file.Files;
|
||||
import java.nio.file.Paths;
|
||||
import java.util.*;
|
||||
@@ -102,7 +101,6 @@ public class Forge implements ApplicationListener {
|
||||
public static boolean animatedCardTapUntap = false;
|
||||
public static String enableUIMask = "Crop";
|
||||
public static String selector = "Default";
|
||||
public static boolean enablePreloadExtendedArt = false;
|
||||
public static boolean isTabletDevice = false;
|
||||
public static String locale = "en-US";
|
||||
public Assets assets;
|
||||
@@ -244,27 +242,8 @@ public class Forge implements ApplicationListener {
|
||||
getSplashScreen().getProgressBar().setDescription(getLocalizer().getMessage("lblLoadingCardTranslations"));
|
||||
CardTranslation.preloadTranslation(locale, ForgeConstants.LANG_DIR);
|
||||
|
||||
getSplashScreen().getProgressBar().setDescription(getLocalizer().getMessage("lblFinishingStartup"));
|
||||
|
||||
//add reminder to preload
|
||||
if (enablePreloadExtendedArt) {
|
||||
if (autoCache)
|
||||
getSplashScreen().getProgressBar().setDescription(getLocalizer().getMessage("lblPreloadExtendedArt") + "\nDetected RAM: " + totalDeviceRAM + "MB. Cache size: " + cacheSize);
|
||||
else
|
||||
getSplashScreen().getProgressBar().setDescription(getLocalizer().getMessage("lblPreloadExtendedArt"));
|
||||
} else {
|
||||
if (autoCache)
|
||||
getSplashScreen().getProgressBar().setDescription(getLocalizer().getMessage("lblFinishingStartup") + "\nDetected RAM: " + totalDeviceRAM + "MB. Cache size: " + cacheSize);
|
||||
else
|
||||
getSplashScreen().getProgressBar().setDescription(getLocalizer().getMessage("lblFinishingStartup"));
|
||||
}
|
||||
|
||||
Gdx.app.postRunnable(() -> {
|
||||
afterDbLoaded();
|
||||
/* call preloadExtendedArt here, if we put it above we will *
|
||||
* get error: No OpenGL context found in the current thread. */
|
||||
preloadExtendedArt();
|
||||
});
|
||||
getSplashScreen().getProgressBar().setDescription(getLocalizer().getMessage("lblPrepareDatabase"));
|
||||
Gdx.app.postRunnable(this::afterDbLoaded);
|
||||
};
|
||||
//see if app or assets need updating
|
||||
FThreads.invokeInBackgroundThread(() -> AssetsDownloader.checkForUpdates(exited, runnable));
|
||||
@@ -303,22 +282,6 @@ public class Forge implements ApplicationListener {
|
||||
return currentScene;
|
||||
}
|
||||
|
||||
private void preloadExtendedArt() {
|
||||
if (!enablePreloadExtendedArt || !enableUIMask.equals("Full"))
|
||||
return;
|
||||
List<String> borderlessCardlistkeys = FileUtil.readFile(ForgeConstants.BORDERLESS_CARD_LIST_FILE);
|
||||
if (borderlessCardlistkeys.isEmpty())
|
||||
return;
|
||||
List<String> filteredkeys = new ArrayList<>();
|
||||
for (String cardname : borderlessCardlistkeys) {
|
||||
File image = new File(ForgeConstants.CACHE_CARD_PICS_DIR + ForgeConstants.PATH_SEPARATOR + cardname + ".jpg");
|
||||
if (image.exists())
|
||||
filteredkeys.add(cardname);
|
||||
}
|
||||
if (!filteredkeys.isEmpty())
|
||||
ImageCache.getInstance().preloadCache(filteredkeys);
|
||||
}
|
||||
|
||||
private void preloadBoosterDrafts() {
|
||||
//preloading of custom drafts
|
||||
BoosterDraft.initializeCustomDrafts();
|
||||
@@ -384,6 +347,10 @@ public class Forge implements ApplicationListener {
|
||||
}
|
||||
}
|
||||
protected void afterDbLoaded() {
|
||||
if (GuiBase.isAndroid() && autoCache)
|
||||
getSplashScreen().getProgressBar().setDescription(getLocalizer().getMessage("lblFinishingStartup") + "\nDetected RAM: " + totalDeviceRAM + "MB. Cache size: " + cacheSize);
|
||||
else
|
||||
getSplashScreen().getProgressBar().setDescription(getLocalizer().getMessage("lblFinishingStartup"));
|
||||
//override transition & title bg
|
||||
try {
|
||||
FileHandle transitionFile = Config.instance().getFile("ui/transition.png");
|
||||
|
||||
@@ -407,7 +407,7 @@ public class ImageCache {
|
||||
public void preloadCache(Deck deck) {
|
||||
if (FModel.getPreferences().getPrefBoolean(ForgePreferences.FPref.UI_DISABLE_CARD_IMAGES))
|
||||
return;
|
||||
if (deck == null || !Forge.enablePreloadExtendedArt)
|
||||
if (deck == null)
|
||||
return;
|
||||
if (deck.getAllCardsInASinglePool().toFlatList().size() <= 100) {
|
||||
for (PaperCard p : deck.getAllCardsInASinglePool().toFlatList()) {
|
||||
|
||||
@@ -616,16 +616,6 @@ public class SettingsPage extends TabPage<SettingsScreen> {
|
||||
ImageCache.getInstance().disposeTextures();
|
||||
}
|
||||
}, 4);
|
||||
lstSettings.addItem(new BooleanSetting(FPref.UI_ENABLE_PRELOAD_EXTENDED_ART,
|
||||
Forge.getLocalizer().getMessage("lblPreloadExtendedArtCards"),
|
||||
Forge.getLocalizer().getMessage("nlPreloadExtendedArtCards")){
|
||||
@Override
|
||||
public void select() {
|
||||
super.select();
|
||||
//update
|
||||
Forge.enablePreloadExtendedArt = FModel.getPreferences().getPrefBoolean(FPref.UI_ENABLE_PRELOAD_EXTENDED_ART);
|
||||
}
|
||||
},4);
|
||||
lstSettings.addItem(new BooleanSetting(FPref.UI_ENABLE_MATCH_SCROLL_INDICATOR,
|
||||
Forge.getLocalizer().getMessage("lblMatchScrollIndicator"),
|
||||
Forge.getLocalizer().getMessage("nlMatchScrollIndicator")),
|
||||
|
||||
@@ -3527,4 +3527,6 @@ lblEffectDialogDescription=An diesem Ort fließen seltsame magische Energien...
|
||||
lblEffectDataHeader=Alle Gegner erhalten:
|
||||
lblDefeatedDescription=Sie sind besiegt und können nicht weitermachen. Mit letzter Kraft versuchen Sie, aus dem Gebiet zu entkommen.
|
||||
lblReversePromptButton=Umgekehrte Eingabeaufforderungsschaltflächen
|
||||
nlReversePromptButton=Wenn diese Option aktiviert ist, sind die Schaltflächen „OK“ und „Cancel“ vertauscht.
|
||||
nlReversePromptButton=Wenn diese Option aktiviert ist, sind die Schaltflächen „OK“ und „Cancel“ vertauscht.
|
||||
lblPrepareDatabase=Datenbank vorbereiten...
|
||||
lblLoadingGameResources=Spielressourcen werden geladen...
|
||||
@@ -3274,4 +3274,6 @@ lblEffectDialogDescription=Strange magical energies flow within this place...
|
||||
lblEffectDataHeader=All opponents get:
|
||||
lblDefeatedDescription=Defeated and unable to continue, you use the last of your power to escape the area.
|
||||
lblReversePromptButton=Reversed Prompt Buttons
|
||||
nlReversePromptButton=If enabled, the OK and Cancel Prompt buttons are reversed.
|
||||
nlReversePromptButton=If enabled, the OK and Cancel Prompt buttons are reversed.
|
||||
lblPrepareDatabase=Preparing database...
|
||||
lblLoadingGameResources=Loading game resources...
|
||||
@@ -3531,4 +3531,6 @@ lblEffectDialogDescription=Extrañas energías mágicas fluyen dentro de este lu
|
||||
lblEffectDataHeader=Todos los oponentes obtienen:
|
||||
lblDefeatedDescription=Derrotado e incapaz de continuar, utilizas lo último de tu poder para escapar del área.
|
||||
lblReversePromptButton=Botones de aviso invertidos
|
||||
nlReversePromptButton=Si esta opción está habilitada, los botones Aceptar y Cancelar solicitud se invierten.
|
||||
nlReversePromptButton=Si esta opción está habilitada, los botones Aceptar y Cancelar solicitud se invierten.
|
||||
lblPrepareDatabase=Preparando la base de datos...
|
||||
lblLoadingGameResources=Cargando recursos del juego...
|
||||
@@ -3532,4 +3532,6 @@ lblEffectDialogDescription=D'étranges énergies magiques circulent dans ce lieu
|
||||
lblEffectDataHeader=Tous les adversaires obtiennent:
|
||||
lblDefeatedDescription=Vaincu et incapable de continuer, vous utilisez le reste de votre pouvoir pour vous échapper de la zone.
|
||||
lblReversePromptButton=Boutons d'invite inversés
|
||||
nlReversePromptButton=Si cette option est activée, les boutons OK et Annuler sont inversés.
|
||||
nlReversePromptButton=Si cette option est activée, les boutons OK et Annuler sont inversés.
|
||||
lblPrepareDatabase=Préparation de la base de données...
|
||||
lblLoadingGameResources=Chargement des ressources du jeu...
|
||||
@@ -3530,4 +3530,6 @@ lblEffectDialogDescription=In questo luogo fluiscono strane energie magiche...
|
||||
lblEffectDataHeader=Tutti gli avversari ottengono:
|
||||
lblDefeatedDescription=Sconfitto e impossibilitato a proseguire, usi le ultime energie che ti restano per fuggire dalla zona.
|
||||
lblReversePromptButton=Pulsanti di richiesta invertiti
|
||||
nlReversePromptButton=Se abilitati, i pulsanti OK e Annulla richiesta sono invertiti.
|
||||
nlReversePromptButton=Se abilitati, i pulsanti OK e Annulla richiesta sono invertiti.
|
||||
lblPrepareDatabase=Preparazione del database...
|
||||
lblLoadingGameResources=Caricamento delle risorse del gioco...
|
||||
@@ -3526,4 +3526,6 @@ lblEffectDialogDescription=この場所には不思議な魔力が流れてい
|
||||
lblEffectDataHeader=対戦相手全員が得るもの:
|
||||
lblDefeatedDescription=敗北し、続行不可能となったあなたは、最後の力を振り絞ってそのエリアから脱出します。
|
||||
lblReversePromptButton=逆プロンプトボタン
|
||||
nlReversePromptButton=有効にすると、[OK] ボタンと [Cancel] ボタンが逆になります。
|
||||
nlReversePromptButton=有効にすると、[OK] ボタンと [Cancel] ボタンが逆になります。
|
||||
lblPrepareDatabase=データベースを準備しています
|
||||
lblLoadingGameResources=ゲームリソースを読み込んでいます
|
||||
@@ -3616,4 +3616,6 @@ lblEffectDialogDescription=Estranhas energias mágicas fluem dentro deste lugar.
|
||||
lblEffectDataHeader=Todos os oponentes recebem:
|
||||
lblDefeatedDescription=Derrotado e incapaz de continuar, você usa o que resta de seu poder para escapar da área.
|
||||
lblReversePromptButton=Botões de prompt invertidos
|
||||
nlReversePromptButton=Se ativados, os botões OK e Cancelar prompt serão invertidos.
|
||||
nlReversePromptButton=Se ativados, os botões OK e Cancelar prompt serão invertidos.
|
||||
lblPrepareDatabase=Preparando banco de dados...
|
||||
lblLoadingGameResources=Carregando recursos do jogo...
|
||||
@@ -3517,4 +3517,6 @@ lblEffectDialogDescription=奇怪的魔法能量在这个地方流动。。。
|
||||
lblEffectDataHeader=所有对手获得:
|
||||
lblDefeatedDescription=你被击败了,无法继续前进,你用尽最后的力量逃离了该区域。
|
||||
lblReversePromptButton=反转提示按钮
|
||||
nlReversePromptButton=如果启用,则“确定”和“取消提示”按钮将会反转。
|
||||
nlReversePromptButton=如果启用,则“确定”和“取消提示”按钮将会反转。
|
||||
lblPrepareDatabase=准备数据库
|
||||
lblLoadingGameResources=正在加载游戏资源
|
||||
@@ -39,6 +39,7 @@ import org.apache.commons.lang3.ArrayUtils;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.*;
|
||||
import java.util.concurrent.CompletableFuture;
|
||||
import java.util.function.Predicate;
|
||||
import java.util.function.Supplier;
|
||||
|
||||
@@ -330,11 +331,23 @@ public class BoosterDraft implements IBoosterDraft {
|
||||
|
||||
dList = dFolder.list();
|
||||
|
||||
for (final String element : dList) {
|
||||
if (element.endsWith(FILE_EXT)) {
|
||||
final List<String> dfData = FileUtil.readFile(ForgeConstants.DRAFT_DIR + element);
|
||||
customs.add(CustomLimited.parse(dfData, FModel.getDecks().getCubes()));
|
||||
if (dList != null) {
|
||||
List<CompletableFuture<?>> futures = new ArrayList<>();
|
||||
for (final String element : dList) {
|
||||
if (element.endsWith(FILE_EXT)) {
|
||||
futures.add(CompletableFuture.supplyAsync(()-> {
|
||||
final List<String> dfData = FileUtil.readFile(ForgeConstants.DRAFT_DIR + element);
|
||||
customs.add(CustomLimited.parse(dfData, FModel.getDecks().getCubes()));
|
||||
return null;
|
||||
}).exceptionally(ex -> {
|
||||
ex.printStackTrace();
|
||||
return null;
|
||||
}));
|
||||
}
|
||||
}
|
||||
CompletableFuture<?>[] futuresArray = futures.toArray(new CompletableFuture<?>[0]);
|
||||
CompletableFuture.allOf(futuresArray).join();
|
||||
futures.clear();
|
||||
}
|
||||
}
|
||||
return customs;
|
||||
|
||||
Reference in New Issue
Block a user