From a3f8b9d252a43dba32fe789dd0b60d346c384265 Mon Sep 17 00:00:00 2001 From: slapshot5 Date: Sat, 22 Oct 2011 03:24:57 +0000 Subject: [PATCH] In-Game downloading Part 1: 1) add moomarc's revamped token list (pointing to cardforge.org) 2) readded token image downloading to LQ pic downloads (not Set Pics yet) 3) add throttling to LQ Pic downloader --- .gitattributes | 1 + res/main.properties | 3 + res/token-images.txt | 212 ++++++++++++++++++ .../java/forge/Gui_DownloadPictures_LQ.java | 56 ++--- .../java/forge/properties/NewConstants.java | 4 + 5 files changed, 248 insertions(+), 28 deletions(-) create mode 100644 res/token-images.txt diff --git a/.gitattributes b/.gitattributes index c543048f1aa..dd56e02a4fb 100644 --- a/.gitattributes +++ b/.gitattributes @@ -10090,6 +10090,7 @@ res/reprintSetInfo.py svneol=native#text/x-python res/sealed/juzamjedi.zsealed -text res/setInfoScript.py svneol=native#text/x-python res/sound/tap.mp3 -text svneol=unset#audio/mpeg +res/token-images.txt -text src/main/config/Forge.icns -text src/main/config/backgroundImage.jpg -text svneol=unset#image/jpeg src/main/config/create-dmg -text diff --git a/res/main.properties b/res/main.properties index d27976845a0..9700678f9bb 100644 --- a/res/main.properties +++ b/res/main.properties @@ -14,6 +14,7 @@ decks-dir--file=decks card-pictures--file=card-pictures.txt card-pictures_token_lq--file=card-pictures-token.txt +token-images--file=token-images.txt card-pictures_a--file=pics_link/card-pictures_a.txt card-pictures_b--file=pics_link/card-pictures_b.txt card-pictures_c--file=pics_link/card-pictures_c.txt @@ -63,3 +64,5 @@ image/token--file=pics/tokens image/icon--file=pics/icons symbols/small--file=images/symbols-13 sound/base--file=sound + +quest/opponent/icons--file=quest/quest-opponent-icons.txt diff --git a/res/token-images.txt b/res/token-images.txt new file mode 100644 index 00000000000..084ed26c16e --- /dev/null +++ b/res/token-images.txt @@ -0,0 +1,212 @@ +[T]b_0_0_germ.jpg http://www.cardforge.org/fpics/tokens/b_0_0_germ.jpg +[T]b_0_1_insect.jpg http://www.cardforge.org/fpics/tokens/b_0_1_insect.jpg +[T]b_0_1_serf.jpg http://www.cardforge.org/fpics/tokens/b_0_1_serf.jpg +[T]b_0_1_thrull.jpg http://www.cardforge.org/fpics/tokens/b_0_1_thrull.jpg +[T]b_1_1_bat.jpg http://www.cardforge.org/fpics/tokens/b_1_1_bat.jpg +[T]b_1_1_faerie_rogue.jpg http://www.cardforge.org/fpics/tokens/b_1_1_faerie_rogue.jpg +[T]b_1_1_festering_goblin.jpg http://www.cardforge.org/fpics/tokens/b_1_1_festering_goblin.jpg +[T]b_1_1_goblin_rogue.jpg http://www.cardforge.org/fpics/tokens/b_1_1_goblin_rogue.jpg +[T]b_1_1_minion.jpg http://www.cardforge.org/fpics/tokens/b_1_1_minion.jpg +[T]b_1_1_rat.jpg http://www.cardforge.org/fpics/tokens/b_1_1_rat.jpg +[T]b_1_1_skeleton.jpg http://www.cardforge.org/fpics/tokens/b_1_1_skeleton.jpg +[T]b_1_1_thrull.jpg http://www.cardforge.org/fpics/tokens/b_1_1_thrull.jpg +[T]b_1_2_bat.jpg http://www.cardforge.org/fpics/tokens/b_1_2_bat.jpg +[T]b_20_20_marit_lage.jpg http://www.cardforge.org/fpics/tokens/b_20_20_marit_lage.jpg +[T]b_2_1_cat.jpg http://www.cardforge.org/fpics/tokens/b_2_1_cat.jpg +[T]b_2_2_zombie.jpg http://www.cardforge.org/fpics/tokens/b_2_2_zombie.jpg +[T]b_2_4_spider.jpg http://www.cardforge.org/fpics/tokens/b_2_4_spider.jpg +[T]b_3_3_angel.jpg http://www.cardforge.org/fpics/tokens/b_3_3_angel.jpg +[T]b_3_3_kavu.jpg http://www.cardforge.org/fpics/tokens/b_3_3_kavu.jpg +[T]b_4_4_horror.jpg http://www.cardforge.org/fpics/tokens/b_4_4_horror.jpg +[T]b_5_5_demon.jpg http://www.cardforge.org/fpics/tokens/b_5_5_demon.jpg +[T]b_5_5_urami.jpg http://www.cardforge.org/fpics/tokens/b_5_5_urami.jpg +[T]b_5_5_zombie_giant.jpg http://www.cardforge.org/fpics/tokens/b_5_5_zombie_giant.jpg +[T]b_6_6_wurm.jpg http://www.cardforge.org/fpics/tokens/b_6_6_wurm.jpg +[T]b_dx_dy_spirit.jpg http://www.cardforge.org/fpics/tokens/b_dx_dy_spirit.jpg +[T]b_x_x_demon.jpg http://www.cardforge.org/fpics/tokens/b_x_x_demon.jpg +[T]b_x_x_minion.jpg http://www.cardforge.org/fpics/tokens/b_x_x_minion.jpg +[T]bg_1_1_worm.jpg http://www.cardforge.org/fpics/tokens/bg_1_1_worm.jpg +[T]br_1_1_minor_demon.jpg http://www.cardforge.org/fpics/tokens/br_1_1_minor_demon.jpg +[T]br_3_1_graveborn.jpg http://www.cardforge.org/fpics/tokens/br_3_1_graveborn.jpg +[T]br_5_5_elemental.jpg http://www.cardforge.org/fpics/tokens/br_5_5_elemental.jpg +[T]c_0_1_eldrazi_spawn.jpg http://www.cardforge.org/fpics/tokens/c_0_1_eldrazi_spawn.jpg +[T]c_0_1_pest.jpg http://www.cardforge.org/fpics/tokens/c_0_1_pest.jpg +[T]c_0_1_prism.jpg http://www.cardforge.org/fpics/tokens/c_0_1_prism.jpg +[T]c_1_1_hornet.jpg http://www.cardforge.org/fpics/tokens/c_1_1_hornet.jpg +[T]c_1_1_metallic_sliver.jpg http://www.cardforge.org/fpics/tokens/c_1_1_metallic_sliver.jpg +[T]c_1_1_myr.jpg http://www.cardforge.org/fpics/tokens/c_1_1_myr.jpg +[T]c_1_1_pentavite.jpg http://www.cardforge.org/fpics/tokens/c_1_1_pentavite.jpg +[T]c_1_1_sand.jpg http://www.cardforge.org/fpics/tokens/c_1_1_sand.jpg +[T]c_1_1_shapeshifter.jpg http://www.cardforge.org/fpics/tokens/c_1_1_shapeshifter.jpg +[T]c_1_1_sliver.jpg http://www.cardforge.org/fpics/tokens/c_1_1_sliver.jpg +[T]c_1_1_snake.jpg http://www.cardforge.org/fpics/tokens/c_1_1_snake.jpg +[T]c_1_1_spirit.jpg http://www.cardforge.org/fpics/tokens/c_1_1_spirit.jpg +[T]c_1_1_thopter.jpg http://www.cardforge.org/fpics/tokens/c_1_1_thopter.jpg +[T]c_1_1_triskelavite.jpg http://www.cardforge.org/fpics/tokens/c_1_1_triskelavite.jpg +[T]c_1_1_wasp.jpg http://www.cardforge.org/fpics/tokens/c_1_1_wasp.jpg +[T]c_2_2_assembly_worker.jpg http://www.cardforge.org/fpics/tokens/c_2_2_assembly_worker.jpg +[T]c_2_2_pincher.jpg http://www.cardforge.org/fpics/tokens/c_2_2_pincher.jpg +[T]c_2_2_spawn.jpg http://www.cardforge.org/fpics/tokens/c_2_2_spawn.jpg +[T]c_2_2_wirefly.jpg http://www.cardforge.org/fpics/tokens/c_2_2_wirefly.jpg +[T]c_3_3_golem.jpg http://www.cardforge.org/fpics/tokens/c_3_3_golem.jpg +[T]c_3_3_wurm_deathtouch.jpg http://www.cardforge.org/fpics/tokens/c_3_3_wurm_deathtouch.jpg +[T]c_3_3_wurm_lifelink.jpg http://www.cardforge.org/fpics/tokens/c_3_3_wurm_lifelink.jpg +[T]c_3_4_gargoyle.jpg http://www.cardforge.org/fpics/tokens/c_3_4_gargoyle.jpg +[T]c_x_y_twin.jpg http://www.cardforge.org/fpics/tokens/c_x_y_twin.jpg +[T]c_5_5_djinn.jpg http://www.cardforge.org/fpics/tokens/c_5_5_djinn.jpg +[T]c_5_5_tuktuk_the_returned.jpg http://www.cardforge.org/fpics/tokens/c_5_5_tuktuk_the_returned.jpg +[T]c_9_9_golem.jpg http://www.cardforge.org/fpics/tokens/c_9_9_golem.jpg +[T]c_x_x_horror.jpg http://www.cardforge.org/fpics/tokens/c_x_x_horror.jpg +[T]c_x_x_riptide_replicator.jpg http://www.cardforge.org/fpics/tokens/c_x_x_riptide_replicator.jpg +[T]g_1_1_butterfly.jpg http://www.cardforge.org/fpics/tokens/g_1_1_butterfly.jpg +[T]g_0_1_plant.jpg http://www.cardforge.org/fpics/tokens/g_0_1_plant.jpg +[T]g_0_1_plant_wall.jpg http://www.cardforge.org/fpics/tokens/g_0_1_plant_wall.jpg +[T]g_0_1_wood.jpg http://www.cardforge.org/fpics/tokens/g_0_1_wood.jpg +[T]g_0_2_plant_wall.jpg http://www.cardforge.org/fpics/tokens/g_0_2_plant_wall.jpg +[T]g_0_3_plant_wall.jpg http://www.cardforge.org/fpics/tokens/g_0_3_plant_wall.jpg +[T]g_1_1_cat.jpg http://www.cardforge.org/fpics/tokens/g_1_1_cat.jpg +[T]g_1_1_elf_warrior.jpg http://www.cardforge.org/fpics/tokens/g_1_1_elf_warrior.jpg +[T]g_1_1_hippo.jpg http://www.cardforge.org/fpics/tokens/g_1_1_hippo.jpg +[T]g_1_1_hound.jpg http://www.cardforge.org/fpics/tokens/g_1_1_hound.jpg +[T]g_1_1_insect.jpg http://www.cardforge.org/fpics/tokens/g_1_1_insect.jpg +[T]g_1_1_insect_deathtouch.jpg http://www.cardforge.org/fpics/tokens/g_1_1_insect_deathtouch.jpg +[T]g_1_1_insect_infect.jpg http://www.cardforge.org/fpics/tokens/g_1_1_insect_infect.jpg +[T]g_1_1_llanowar_elves.jpg http://www.cardforge.org/fpics/tokens/g_1_1_llanowar_elves.jpg +[T]g_1_1_ooze.jpg http://www.cardforge.org/fpics/tokens/g_1_1_ooze.jpg +[T]g_1_1_saproling.jpg http://www.cardforge.org/fpics/tokens/g_1_1_saproling.jpg +[T]g_1_1_snake.jpg http://www.cardforge.org/fpics/tokens/g_1_1_snake.jpg +[T]g_1_1_spike.jpg http://www.cardforge.org/fpics/tokens/g_1_1_spike.jpg +[T]g_1_1_splinter.jpg http://www.cardforge.org/fpics/tokens/g_1_1_splinter.jpg +[T]g_1_1_squirrel.jpg http://www.cardforge.org/fpics/tokens/g_1_1_squirrel.jpg +[T]g_1_1_wolf.jpg http://www.cardforge.org/fpics/tokens/g_1_1_wolf.jpg +[T]g_1_2_spider.jpg http://www.cardforge.org/fpics/tokens/g_1_2_spider.jpg +[T]g_1_3_plant_wall.jpg http://www.cardforge.org/fpics/tokens/g_1_3_plant_wall.jpg +[T]g_1_3_plant_wall_deathtouch.jpg http://www.cardforge.org/fpics/tokens/g_1_3_plant_wall_deathtouch.jpg +[T]g_1_4_plant_wall.jpg http://www.cardforge.org/fpics/tokens/g_1_4_plant_wall.jpg +[T]g_2_2_ape.jpg http://www.cardforge.org/fpics/tokens/g_2_2_ape.jpg +[T]g_2_2_bear.jpg http://www.cardforge.org/fpics/tokens/g_2_2_bear.jpg +[T]g_2_2_cat_warrior.jpg http://www.cardforge.org/fpics/tokens/g_2_2_cat_warrior.jpg +[T]g_2_2_lizard.jpg http://www.cardforge.org/fpics/tokens/g_2_2_lizard.jpg +[T]g_2_2_ooze.jpg http://www.cardforge.org/fpics/tokens/g_2_2_ooze.jpg +[T]g_2_2_wolf.jpg http://www.cardforge.org/fpics/tokens/g_2_2_wolf.jpg +[T]g_2_5_treefolk_shaman.jpg http://www.cardforge.org/fpics/tokens/g_2_5_treefolk_shaman.jpg +[T]g_3_3_ape.jpg http://www.cardforge.org/fpics/tokens/g_3_3_ape.jpg +[T]g_3_3_beast.jpg http://www.cardforge.org/fpics/tokens/g_3_3_beast.jpg +[T]g_3_3_centaur.jpg http://www.cardforge.org/fpics/tokens/g_3_3_centaur.jpg +[T]g_3_3_elephant.jpg http://www.cardforge.org/fpics/tokens/g_3_3_elephant.jpg +[T]g_4_4_beast.jpg http://www.cardforge.org/fpics/tokens/g_4_4_beast.jpg +[T]g_4_4_elemental.jpg http://www.cardforge.org/fpics/tokens/g_4_4_elemental.jpg +[T]g_5_5_beast.jpg http://www.cardforge.org/fpics/tokens/g_5_5_beast.jpg +[T]g_6_1_insect.jpg http://www.cardforge.org/fpics/tokens/g_6_1_insect.jpg +[T]g_6_6_wurm.jpg http://www.cardforge.org/fpics/tokens/g_6_6_wurm.jpg +[T]g_7_7_elemental.jpg http://www.cardforge.org/fpics/tokens/g_7_7_elemental.jpg +[T]g_x_x_elephant.jpg http://www.cardforge.org/fpics/tokens/g_x_x_elephant.jpg +[T]g_x_x_ooze.jpg http://www.cardforge.org/fpics/tokens/g_x_x_ooze.jpg +[T]g_x_x_wurm.jpg http://www.cardforge.org/fpics/tokens/g_x_x_wurm.jpg +[T]gr_1_1_dragon.jpg http://www.cardforge.org/fpics/tokens/gr_1_1_dragon.jpg +[T]grw_1_1_sand_warrior.jpg http://www.cardforge.org/fpics/tokens/grw_1_1_sand_warrior.jpg +[T]gu_2_2_drake.jpg http://www.cardforge.org/fpics/tokens/gu_2_2_drake.jpg +[T]gu_1_1_snake.jpg http://www.cardforge.org/fpics/tokens/gu_1_1_snake.jpg +[T]gw_1_1_elf_warrior.jpg http://www.cardforge.org/fpics/tokens/gw_1_1_elf_warrior.jpg +[T]gw_2_2_voja.jpg http://www.cardforge.org/fpics/tokens/gw_2_2_voja.jpg +[T]r_0_1_kobolds_of_kher_keep.jpg http://www.cardforge.org/fpics/tokens/r_0_1_kobolds_of_kher_keep.jpg +[T]r_1_1_elemental_cat.jpg http://www.cardforge.org/fpics/tokens/r_1_1_elemental_cat.jpg +[T]r_1_1_elemental.jpg http://www.cardforge.org/fpics/tokens/r_1_1_elemental.jpg +[T]r_1_1_goblin.jpg http://www.cardforge.org/fpics/tokens/r_1_1_goblin.jpg +[T]r_1_1_goblin_scout.jpg http://www.cardforge.org/fpics/tokens/r_1_1_goblin_scout.jpg +[T]r_2_1_goblin.jpg http://www.cardforge.org/fpics/tokens/r_2_1_goblin.jpg +[T]r_3_1_elemental.jpg http://www.cardforge.org/fpics/tokens/r_3_1_elemental.jpg +[T]r_3_1_elemental_shaman.jpg http://www.cardforge.org/fpics/tokens/r_3_1_elemental_shaman.jpg +[T]r_3_1_spark_elemental.jpg http://www.cardforge.org/fpics/tokens/r_3_1_spark_elemental.jpg +[T]r_3_3_elemental.jpg http://www.cardforge.org/fpics/tokens/r_3_3_elemental.jpg +[T]r_3_3_ogre.jpg http://www.cardforge.org/fpics/tokens/r_3_3_ogre.jpg +[T]r_4_4_bird.jpg http://www.cardforge.org/fpics/tokens/r_4_4_bird.jpg +[T]r_4_4_dragon.jpg http://www.cardforge.org/fpics/tokens/r_4_4_dragon.jpg +[T]r_4_4_giant.jpg http://www.cardforge.org/fpics/tokens/r_4_4_giant.jpg +[T]r_4_4_hellion.jpg http://www.cardforge.org/fpics/tokens/r_4_4_hellion.jpg +[T]r_5_5_dragon.jpg http://www.cardforge.org/fpics/tokens/r_5_5_dragon.jpg +[T]r_7_1_elemental.jpg http://www.cardforge.org/fpics/tokens/r_7_1_elemental.jpg +[T]rg_3_4_stangg_twin.jpg http://www.cardforge.org/fpics/tokens/rg_3_4_stangg_twin.jpg +[T]rw_1_1_goblin_soldier.jpg http://www.cardforge.org/fpics/tokens/rw_1_1_goblin_soldier.jpg +[T]u_0_1_homunculus.jpg http://www.cardforge.org/fpics/tokens/u_0_1_homunculus.jpg +[T]u_0_1_plant_wall.jpg http://www.cardforge.org/fpics/tokens/u_0_1_plant_wall.jpg +[T]u_1_1_bird.jpg http://www.cardforge.org/fpics/tokens/u_1_1_bird.jpg +[T]u_1_1_camarid.jpg http://www.cardforge.org/fpics/tokens/u_1_1_camarid.jpg +[T]u_1_1_cloud_sprite.jpg http://www.cardforge.org/fpics/tokens/u_1_1_cloud_sprite.jpg +[T]u_1_1_faerie.jpg http://www.cardforge.org/fpics/tokens/u_1_1_faerie.jpg +[T]u_1_1_illusion.jpg http://www.cardforge.org/fpics/tokens/u_1_1_illusion.jpg +[T]u_1_1_merfolk_wizard.jpg http://www.cardforge.org/fpics/tokens/u_1_1_merfolk_wizard.jpg +[T]u_1_1_thopter.jpg http://www.cardforge.org/fpics/tokens/u_1_1_thopter.jpg +[T]u_2_2_elemental_flying.jpg http://www.cardforge.org/fpics/tokens/u_2_2_elemental_flying.jpg +[T]u_2_2_homunculus.jpg http://www.cardforge.org/fpics/tokens/u_2_2_homunculus.jpg +[T]u_2_2_illusion.jpg http://www.cardforge.org/fpics/tokens/u_2_2_illusion.jpg +[T]u_3_3_weird.jpg http://www.cardforge.org/fpics/tokens/u_3_3_weird.jpg +[T]u_5_5_wall.jpg http://www.cardforge.org/fpics/tokens/u_5_5_wall.jpg +[T]ub_1_1_faerie_rogue.jpg http://www.cardforge.org/fpics/tokens/ub_1_1_faerie_rogue.jpg +[T]ub_1_1_zombie_wizard.jpg http://www.cardforge.org/fpics/tokens/ub_1_1_zombie_wizard.jpg +[T]ur_5_5_elemental.jpg http://www.cardforge.org/fpics/tokens/ur_5_5_elemental.jpg +[T]w_0_1_caribou.jpg http://www.cardforge.org/fpics/tokens/w_0_1_caribou.jpg +[T]w_0_1_deserter.jpg http://www.cardforge.org/fpics/tokens/w_0_1_deserter.jpg +[T]w_0_1_goat.jpg http://www.cardforge.org/fpics/tokens/w_0_1_goat.jpg +[T]w_1_1_bird.jpg http://www.cardforge.org/fpics/tokens/w_1_1_bird.jpg +[T]w_1_1_bird_flying.jpg http://www.cardforge.org/fpics/tokens/w_1_1_bird_flying.jpg +[T]w_1_1_bird_soldier.jpg http://www.cardforge.org/fpics/tokens/w_1_1_bird_soldier.jpg +[T]w_1_1_citizen.jpg http://www.cardforge.org/fpics/tokens/w_1_1_citizen.jpg +[T]w_1_1_goldmeadow_harrier.jpg http://www.cardforge.org/fpics/tokens/w_1_1_goldmeadow_harrier.jpg +[T]w_1_1_kithkin_soldier.jpg http://www.cardforge.org/fpics/tokens/w_1_1_kithkin_soldier.jpg +[T]w_1_1_kor_soldier.jpg http://www.cardforge.org/fpics/tokens/w_1_1_kor_soldier.jpg +[T]w_1_1_pegasus.jpg http://www.cardforge.org/fpics/tokens/w_1_1_pegasus.jpg +[T]w_1_1_soldier.jpg http://www.cardforge.org/fpics/tokens/w_1_1_soldier.jpg +[T]w_1_1_soldier_ally.jpg http://www.cardforge.org/fpics/tokens/w_1_1_soldier_ally.jpg +[T]w_1_1_spirit.jpg http://www.cardforge.org/fpics/tokens/w_1_1_spirit.jpg +[T]w_2_2_cat.jpg http://www.cardforge.org/fpics/tokens/w_2_2_cat.jpg +[T]w_2_2_griffin.jpg http://www.cardforge.org/fpics/tokens/w_2_2_griffin.jpg +[T]w_2_2_knight.jpg http://www.cardforge.org/fpics/tokens/w_2_2_knight.jpg +[T]w_2_2_knight_first_strike.jpg http://www.cardforge.org/fpics/tokens/w_2_2_knight_first_strike.jpg +[T]w_3_3_bird.jpg http://www.cardforge.org/fpics/tokens/w_3_3_bird.jpg +[T]w_3_3_spirit.jpg http://www.cardforge.org/fpics/tokens/w_3_3_spirit.jpg +[T]w_4_4_angel.jpg http://www.cardforge.org/fpics/tokens/w_4_4_angel.jpg +[T]w_4_4_elemental.jpg http://www.cardforge.org/fpics/tokens/w_4_4_elemental.jpg +[T]w_5_5_giant_warrior.jpg http://www.cardforge.org/fpics/tokens/w_5_5_giant_warrior.jpg +[T]w_n_n_avatar.jpg http://www.cardforge.org/fpics/tokens/w_n_n_avatar.jpg +[T]wb_1_1_spirit.jpg http://www.cardforge.org/fpics/tokens/wb_1_1_spirit.jpg +[T]wrg_8_8_beast.jpg http://www.cardforge.org/fpics/tokens/wrg_8_8_beast.jpg +[T]wr_1_1_goblin_soldier.jpg http://www.cardforge.org/fpics/tokens/wr_1_1_goblin_soldier.jpg +[T]wu_1_1_bird.jpg http://www.cardforge.org/fpics/tokens/wu_1_1_bird.jpg + + +# These tokens should be used but aren't at present: +# //g_3_3_centaur_pro_black.jpg http://www.cardforge.org/fpics/tokens/g_3_3_centaur_pro_black.jpg +# // Hunted Horror token should use this to distinguish from Centaur Glade tokens. +# //r_x_x_elemental.jpg http://www.cardforge.org/fpics/tokens/r_x_x_elemental.jpg +# // Devastating Summons tokens should use this image. I tried different naming variations on the x/x but nothing worked.] +# +# +# //These tokens are not currently used by any cards in Forge, but links provided should they be scripted so the correct name is used: +# //b_1_1_wolf.jpg http://www.cardforge.org/fpics/tokens/b_1_1_wolf.jpg [ISD] Garruk Relentless//Garruk, the Veil-Cursed +# //b_2_2_tombspawn.jpg http://www.cardforge.org/fpics/tokens/b_2_2_tombspawn.jpg [MIR] Tombstone Stairwell +# //b_2_2_vampire.jpg http://www.cardforge.org/fpics/tokens/b_2_2_vampire.jpg [ISD] Bloodline Keeper//Lord of Lineage +# //b_x_x_vampire.jpg http://www.cardforge.org/fpics/tokens/b_x_x_vampire.jpg [ZEN] Kalitas, Bloodchief of Ghet +# //c_0_2_wall.jpg http://www.cardforge.org/fpics/tokens/c_0_2_wall.jpg [MIR] Basalt Golem +# //c_1_1_gnome.jpg http://www.cardforge.org/fpics/tokens/c_1_1_gnome.jpg [USG] Metrognome +# //c_1_1_tetravite.jpg http://www.cardforge.org/fpics/tokens/c_1_1_tetravite.jpg [ATQ/4ED] Tetravus +# //c_4_4_kaldra.jpg http://www.cardforge.org/fpics/tokens/c_4_4_kaldra.jpg [5DN] Helm of Kaldra +# //c_6_12_construct.jpg http://www.cardforge.org/fpics/tokens/c_6_12_construct.jpg [WWK] Stone Idol Trap +# //c_x_x_volraths_laboratory.jpg http://www.cardforge.org/fpics/tokens/c_x_x_volraths_laboratory.jpg [STH] Volrath's Laboratory +# //g_0_1_sheep.jpg http://www.cardforge.org/fpics/tokens/g_0_1_sheep.jpg [VIS/TSB] Ovinomancer +# //g_1_1_wolves_of_the_hunt.jpg http://www.cardforge.org/fpics/tokens/g_1_1_wolves_of_the_hunt.jpg [LEG] Master of the Hunt +# //g_2_2_beast.jpg http://www.cardforge.org/fpics/tokens/g_2_2_beast.jpg [EXO] Keeper of the Beasts +# //g_x_x_elemental.jpg http://www.cardforge.org/fpics/tokens/g_x_x_elemental.jpg [CHK] Budoka Gardener//Dokai, Weaver of Life +# //g_x_x_saproling.jpg http://www.cardforge.org/fpics/tokens/g_x_x_saproling.jpg [NEM] Saproling Burst +# //r_1_1_survivor.jpg http://www.cardforge.org/fpics/tokens/r_1_1_survivor.jpg [ALL] Varchild's War-Riders +# //r_1_1_warrior.jpg http://www.cardforge.org/fpics/tokens/r_1_1_warrior.jpg [SOK] Rally the Hoard +# //r_3_1_carnivore.jpg http://www.cardforge.org/fpics/tokens/r_3_1_carnivore.jpg [TMP] Tooth and Claw +# //rg_1_1_goblin_warrior.jpg http://www.cardforge.org/fpics/tokens/rg_1_1_goblin_warrior.jpg [SHM] Wort, the Raidmother +# //rg_4_4_giant_warrior.jpg http://www.cardforge.org/fpics/tokens/rg_4_4_giant_warrior.jpg [SHM] Giantbaiting +# //u_0_1_starfish.jpg http://www.cardforge.org/fpics/tokens/u_0_1_starfish.jpg [ALL] Spiny Starfish +# //u_1_1_merfolk.jpg http://www.cardforge.org/fpics/tokens/u_1_1_merfolk.jpg [ZEN] Lullmage Mentor +# //u_5_5_dragon_spirit.jpg http://www.cardforge.org/fpics/tokens/u_5_5_dragon_spirit.jpg [CHK] Tatsumasa, the Dragon's Fang +# //u_x_x_orb.jpg http://www.cardforge.org/fpics/tokens/u_x_x_orb.jpg [ALL] Phantasmal Sphere +# //w_1_1_knight.jpg http://www.cardforge.org/fpics/tokens/w_1_1_knight.jpg [ALL] Errand of Duty +# //w_2_2_reflection.jpg http://www.cardforge.org/fpics/tokens/w_2_2_reflection.jpg [TMP] Spirit Mirror +# //w_x_x_reflection.jpg http://www.cardforge.org/fpics/tokens/w_x_x_reflection.jpg [INV] Pure Reflection \ No newline at end of file diff --git a/src/main/java/forge/Gui_DownloadPictures_LQ.java b/src/main/java/forge/Gui_DownloadPictures_LQ.java index b8483909a7c..60ea94be896 100644 --- a/src/main/java/forge/Gui_DownloadPictures_LQ.java +++ b/src/main/java/forge/Gui_DownloadPictures_LQ.java @@ -17,7 +17,8 @@ import java.net.MalformedURLException; import java.net.Proxy; import java.net.URL; import java.util.ArrayList; -//import java.util.StringTokenizer; +import java.util.Random; +import java.util.StringTokenizer; import static java.lang.Integer.parseInt; import static javax.swing.JOptionPane.DEFAULT_OPTION; @@ -83,14 +84,6 @@ public class Gui_DownloadPictures_LQ extends DefaultBoundedRangeModel implements //Proxy config p0.add(addr); p0.add(port); -// JTextField[] tfs = {addr, port}; -// String[] labels = {"Address", "Port"}; -// for(int i = 0; i < labels.length; i++) { -// JPanel p1 = new JPanel(new BorderLayout()); -// p0.add(p1); -//// p1.add(new JLabel(labels[i]), WEST); -// p1.add(tfs[i]); -// } //Start final JButton b = new JButton(ForgeProps.getLocalized(BUTTONS.START)); @@ -101,14 +94,12 @@ public class Gui_DownloadPictures_LQ extends DefaultBoundedRangeModel implements b.setEnabled(false); } }); -// p0.add(b); p0.add(Box.createVerticalStrut(5)); //Progress p0.add(bar); bar.setStringPainted(true); - //bar.setString(ForgeProps.getLocalized(BAR_BEFORE_START)); bar.setString(String.format(ForgeProps.getLocalized(card == cards.length ? BAR_CLOSE : BAR_WAIT), this.card, cards.length)); Dimension d = bar.getPreferredSize(); d.width = 300; @@ -202,6 +193,12 @@ public class Gui_DownloadPictures_LQ extends DefaultBoundedRangeModel implements BufferedOutputStream out; File base = ForgeProps.getFile(IMAGE_BASE); + File tokenBase = ForgeProps.getFile(IMAGE_TOKEN); + if (!tokenBase.exists()) { + tokenBase.mkdirs(); + } + + Random r = MyRandom.random; Proxy p = null; if (type == 0) { @@ -212,7 +209,6 @@ public class Gui_DownloadPictures_LQ extends DefaultBoundedRangeModel implements } catch (Exception ex) { ErrorViewer.showError(ex, ForgeProps.getLocalized(ERRORS.PROXY_CONNECT), addr.getText(), port.getText()); -// throw new RuntimeException("Gui_DownloadPictures : error 1 - " +ex); return; } } @@ -225,6 +221,7 @@ public class Gui_DownloadPictures_LQ extends DefaultBoundedRangeModel implements try { String url = cards[card].url; String cName; + if (cards[card].name.substring(0, 3).equals("[T]")) { base = ForgeProps.getFile(IMAGE_TOKEN); cName = cards[card].name.substring(3, cards[card].name.length()); @@ -232,6 +229,7 @@ public class Gui_DownloadPictures_LQ extends DefaultBoundedRangeModel implements base = ForgeProps.getFile(IMAGE_BASE); cName = cards[card].name; } + File f = new File(base, cName); @@ -260,14 +258,18 @@ public class Gui_DownloadPictures_LQ extends DefaultBoundedRangeModel implements out.close(); } catch (MalformedURLException mURLe) { System.out.println("Error - possibly missing URL for: " + cards[card].name); - //Log.error("LQ Pictures", "Malformed URL for: "+cards[card].name, mURLe); } } catch (FileNotFoundException fnfe) { System.out.println("Error - the LQ picture for " + cards[card].name + " could not be found on the server."); } catch (Exception ex) { System.out.println("General error - downloading LQ picture for " + cards[card].name); Log.error("LQ Pictures", "Error downloading pictures", ex); - + } + + try { + Thread.sleep(r.nextInt(750) + 420); + } catch (InterruptedException e) { + Log.error("LQ Set Pictures", "Sleep Error", e); } } //for } @@ -300,9 +302,8 @@ public class Gui_DownloadPictures_LQ extends DefaultBoundedRangeModel implements * @return an array of {@link forge.Gui_DownloadPictures_LQ.mCard} objects. */ private static mCard[] getNeededCards() { - //read all card names and urls - //mCard[] cardPlay = readFile(CARD_PICTURES); - //mCard[] cardTokenLQ = readFile(CARD_PICTURES_TOKEN_LQ); + //read token names and urls + mCard[] cardTokenLQ = readFile(TOKEN_IMAGES); ArrayList cList = new ArrayList(); @@ -334,27 +335,25 @@ public class Gui_DownloadPictures_LQ extends DefaultBoundedRangeModel implements list.add(cardPlay[i]); } } -// base = ForgeProps.getFile(IMAGE_TOKEN); -// for (int i = 0; i < cardTokenLQ.length; i++) { -// file = new File(base, cardTokenLQ[i].name.substring(3, cardTokenLQ[i].name.length())); -// if (!file.exists()) list.add(cardTokenLQ[i]); -// } + base = ForgeProps.getFile(IMAGE_TOKEN); + for (int i = 0; i < cardTokenLQ.length; i++) { + file = new File(base, cardTokenLQ[i].name.substring(3, cardTokenLQ[i].name.length())); + if (!file.exists()) list.add(cardTokenLQ[i]); + } //return all card names and urls that are needed mCard[] out = new mCard[list.size()]; list.toArray(out); -// for(int i = 0; i < out.length; i++) -// System.out.println(out[i].name +" " +out[i].url); return out; } //getNeededCards() -/* *//** + /** *

readFile.

* * @param ABC a {@link java.lang.String} object. * @return an array of {@link forge.Gui_DownloadPictures_LQ.mCard} objects. - *//* + */ private static mCard[] readFile(String ABC) { try { FileReader zrc = new FileReader(ForgeProps.getFile(ABC)); @@ -364,7 +363,7 @@ public class Gui_DownloadPictures_LQ extends DefaultBoundedRangeModel implements StringTokenizer tok; line = in.readLine(); - while (line != null && (!line.equals(""))) { + while (line != null && (!line.equals("")) && !line.startsWith("#")) { tok = new StringTokenizer(line); list.add(new mCard(tok.nextToken(), tok.nextToken())); @@ -380,7 +379,7 @@ public class Gui_DownloadPictures_LQ extends DefaultBoundedRangeModel implements throw new RuntimeException("Gui_DownloadPictures : readFile() error"); } }//readFile() -*/ + private class ProxyHandler implements ChangeListener { private int type; @@ -406,4 +405,5 @@ public class Gui_DownloadPictures_LQ extends DefaultBoundedRangeModel implements url = cardURL; } } //mCard + } diff --git a/src/main/java/forge/properties/NewConstants.java b/src/main/java/forge/properties/NewConstants.java index dcd3393b7cc..710f2a2489d 100644 --- a/src/main/java/forge/properties/NewConstants.java +++ b/src/main/java/forge/properties/NewConstants.java @@ -90,6 +90,8 @@ public interface NewConstants { String CARD_PICTURES_OTHER = "card-pictures_other"; /** Constant CARD_PICTURES_TOKEN_HQ="card-pictures_token_hq". */ String CARD_PICTURES_TOKEN_HQ = "card-pictures_token_hq"; + /** Constant CARD_PICTURES_TOKEN_HQ="card-pictures_token_hq". */ + String TOKEN_IMAGES = "token-images"; /** Constant CARDS="cards". */ String CARDS = "cards"; /** Constant CARDSFOLDER="cardsfolder". */ @@ -156,6 +158,8 @@ public interface NewConstants { String DECKS = "quest/decks-dir"; String XMLDATA = "quest/data-xml"; + + String OPPONENTS = "quest/opponent/icons"; } /**