Added a debug helper override class for ifstream - this normally washes out to std::ifstream. If #define TRACK_FILE_USAGE_STATS is enabled, it derives from ifstream, but additionally tracks each time we create an instance for a given file name & counts each hit in a map, and dump the statistics on shutdown. This is to help track how often we open up certain files, since i/o is costly on the psp.

Here's an sample run on my win box where I launched & ran the test suite once (note that for more interesting stats, forcing a low memory condition would be more interesting so that it'll thrash more):

-------------------
File Usage Statistics

../../../wagic_res/graphics/simon.dat  -- 1
../../wagic_res/graphics/simon.dat  -- 1
../wagic_res/graphics/simon.dat  -- 1
22222220.jpg  -- 1
42187t.jpg  -- 1
4514111t.jpg  -- 1
4838511t.jpg  -- 1
4838512t.jpg  -- 1
51613t.jpg  -- 1
89069t.jpg  -- 1
Advisor.wav  -- 1
Ally.wav  -- 1
Angel Token.jpg  -- 1
Angel.wav  -- 1
Ape.wav  -- 1
Archer.wav  -- 1
Assassin.wav  -- 1
Atog.wav  -- 1
Aura.wav  -- 1
Barbarian.wav  -- 1
Basic.wav  -- 1
Bat.wav  -- 1
Bear.jpg  -- 1
Beast Token.jpg  -- 1
Berserker.wav  -- 1
Bird.wav  -- 1
Centaur.wav  -- 1
Cleric.wav  -- 1
Cockatrice.wav  -- 1
Construct.wav  -- 1
Crocodile.wav  -- 1
Cyclops.wav  -- 1
Dauthi.wav  -- 1
Demon.wav  -- 1
Dragon.jpg  -- 1
Drake.wav  -- 1
Druid.wav  -- 1
Dryad.wav  -- 1
Dwarf.wav  -- 1
Efreet.wav  -- 1
Elemental.wav  -- 1
Elephant.wav  -- 1
Elf.wav  -- 1
Elk.wav  -- 1
Equipment.wav  -- 1
Forest.wav  -- 1
Frog.wav  -- 1
Fungus.wav  -- 1
Giant.wav  -- 1
Gnome.wav  -- 1
Golem.wav  -- 1
Horror.wav  -- 1
Horse.wav  -- 1
Hydra.wav  -- 1
Illusion.wav  -- 1
Insect Token.jpg  -- 1
Insect.jpg  -- 1
Insect.wav  -- 1
Island.wav  -- 1
Juggernaut.wav  -- 1
Kithkin.wav  -- 1
Kobold.wav  -- 1
Kor.wav  -- 1
Kraken.wav  -- 1
Lair.wav  -- 1
Land.wav  -- 1
Leech.wav  -- 1
Legendary.wav  -- 1
Leviathan.wav  -- 1
Lhurgoyf.wav  -- 1
Lizard.wav  -- 1
Masticore.wav  -- 1
Mercenary.wav  -- 1
Merfolk.wav  -- 1
Metathran.wav  -- 1
Minion.wav  -- 1
Minotaur.wav  -- 1
Monk.wav  -- 1
Mountain.wav  -- 1
Mutant.wav  -- 1
Myr.wav  -- 1
Nightmare.wav  -- 1
Nothing.wav  -- 1
Ogre.wav  -- 1
Ooze.wav  -- 1
Orc.wav  -- 1
Orgg.wav  -- 1
Ouphe.wav  -- 1
Pirate.wav  -- 1
Plains.wav  -- 1
Plant.wav  -- 1
Rat.wav  -- 1
Rebel.wav  -- 1
Res.txt  -- 1
Res/../../../wagic_res/graphics/simon.dat  -- 1
Res/../../wagic_res/graphics/simon.dat  -- 1
Res/../wagic_res/graphics/simon.dat  -- 1
Res//test/Amugaba.txt  -- 1
Res//test/Auriok_Sunchaser_ASLONGAS_1.txt  -- 1
Res//test/Auriok_Sunchaser_ASLONGAS_2.txt  -- 1
Res//test/Call_to_Heel_1.txt  -- 1
Res//test/Call_to_Heel_2.txt  -- 1
Res//test/Covetous_Dragon_ASLONGAS_3.txt  -- 1
Res//test/Covetous_Dragon_ASLONGAS_4.txt  -- 1
Res//test/Glimmervoid_ASLONGAS&TRIGGER.txt  -- 1
Res//test/Nevinyrrals_Disk.txt  -- 1
Res//test/Nevinyrrals_Disk2.txt  -- 1
Res//test/Nyxathid.txt  -- 1
Res//test/OneDozenEyes.txt  -- 1
Res//test/Zombie_Infestation.txt  -- 1
Res//test/act_of_treason.txt  -- 1
Res//test/aegis_of_the_meek.txt  -- 1
Res//test/aether_flash.txt  -- 1
Res//test/aether_mutation.txt  -- 1
Res//test/afflict.txt  -- 1
Res//test/akron_legionnaire.txt  -- 1
Res//test/alabaster_dragon.txt  -- 1
Res//test/alabaster_leech.txt  -- 1
Res//test/alabaster_leech2.txt  -- 1
Res//test/alluring_siren.txt  -- 1
Res//test/anarchy.txt  -- 1
Res//test/ancestors_chosen.txt  -- 1
Res//test/angry_mob1.txt  -- 1
Res//test/angry_mob2.txt  -- 1
Res//test/angry_mob3.txt  -- 1
Res//test/angry_mob4.txt  -- 1
Res//test/angry_mob4b.txt  -- 1
Res//test/angry_mob5.txt  -- 1
Res//test/angry_mob7.txt  -- 1
Res//test/animate_artifact.txt  -- 1
Res//test/animate_artifact2.txt  -- 1
Res//test/animate_dead.txt  -- 1
Res//test/animate_dead2.txt  -- 1
Res//test/animate_dead3.txt  -- 1
Res//test/animated_legendaries1_i221.txt  -- 1
Res//test/animated_legendaries2_i221.txt  -- 1
Res//test/animated_legendaries3_i221.txt  -- 1
Res//test/ankh_of_mishra.txt  -- 1
Res//test/arcanis_the_omnipotent.txt  -- 1
Res//test/arcanis_the_omnipotent2.txt  -- 1
Res//test/arcbound.txt  -- 1
Res//test/ardakar_wastes.txt  -- 1
Res//test/ardent_soldier.txt  -- 1
Res//test/argothian_enchantress.txt  -- 1
Res//test/armadillo_cloak.txt  -- 1
Res//test/ascendant_evincar.txt  -- 1
Res//test/ascendant_evincar2.txt  -- 1
Res//test/ascendant_evincar3.txt  -- 1
Res//test/ashen_firebeast.txt  -- 1
Res//test/ashen_firebeast2.txt  -- 1
Res//test/aura_mutation.txt  -- 1
Res//test/avarice_totem.txt  -- 1
Res//test/aven_riftwatcher.txt  -- 1
Res//test/aven_riftwatcher2.txt  -- 1
Res//test/aysen_bureaucrats.txt  -- 1
Res//test/balduvian_conjurer.txt  -- 1
Res//test/baneslayer_angel.txt  -- 1
Res//test/baneslayer_angel2.txt  -- 1
Res//test/barbed_sliver.txt  -- 1
Res//test/basal_sliver.txt  -- 1
Res//test/beacon_of_creation.txt  -- 1
Res//test/beacon_of_destruction.txt  -- 1
Res//test/beacon_of_unrest.txt  -- 1
Res//test/behemoth_sledge.txt  -- 1
Res//test/behemoth_sledge2.txt  -- 1
Res//test/behemoth_sledge3.txt  -- 1
Res//test/behemoth_sledge4.txt  -- 1
Res//test/behemoth_sledge5.txt  -- 1
Res//test/belligerent_hatchling.txt  -- 1
Res//test/benalish_knight.txt  -- 1
Res//test/biorhythm.txt  -- 1
Res//test/black_market.txt  -- 1
Res//test/black_vise.txt  -- 1
Res//test/blessed_wind.txt  -- 1
Res//test/blessed_wine.txt  -- 1
Res//test/blinking_spirit.txt  -- 1
Res//test/blinkmoth_nexus.txt  -- 1
Res//test/bloated_toad1.txt  -- 1
Res//test/bloated_toad2.txt  -- 1
Res//test/bloodfire_colossus.txt  -- 1
Res//test/bloodhall_ooze.txt  -- 1
Res//test/bloodscale_prowler.txt  -- 1
Res//test/body_double.txt  -- 1
Res//test/boggart_arsonists.txt  -- 1
Res//test/borderland_behemoth.txt  -- 1
Res//test/bottle_gnomes.txt  -- 1
Res//test/bottle_gnomes2.txt  -- 1
Res//test/brainstorm.txt  -- 1
Res//test/bramblewood_paragon.txt  -- 1
Res//test/brass_man.txt  -- 1
Res//test/brass_man_i161.txt  -- 1
Res//test/briarhorn.txt  -- 1
Res//test/cage_of_hands.txt  -- 1
Res//test/castle.txt  -- 1
Res//test/cathodion.txt  -- 1
Res//test/celestial_purge.txt  -- 1
Res//test/chainbreaker.txt  -- 1
Res//test/circle_of_protection.txt  -- 1
Res//test/circle_of_protection_i211.txt  -- 1
Res//test/civic_wayfinder.txt  -- 1
Res//test/clone.txt  -- 1
Res//test/clone2.txt  -- 1
Res//test/clone3.txt  -- 1
Res//test/cockatrice.txt  -- 1
Res//test/cockatrice_i228.txt  -- 1
Res//test/colossus_of_sardia1.txt  -- 1
Res//test/colossus_of_sardia2.txt  -- 1
Res//test/composite_golem.txt  -- 1
Res//test/conservator.txt  -- 1
Res//test/control_magic.txt  -- 1
Res//test/control_magic2.txt  -- 1
Res//test/control_magic3.txt  -- 1
Res//test/control_magic4.txt  -- 1
Res//test/corrupt.txt  -- 1
Res//test/counsel_of_the_soratami.txt  -- 1
Res//test/counterspell.txt  -- 1
Res//test/counterspell2.txt  -- 1
Res//test/counterspell3.txt  -- 1
Res//test/counterspell4.txt  -- 1
Res//test/cranial_plating.txt  -- 1
Res//test/creature_bond.txt  -- 1
Res//test/crimson_kobolds.txt  -- 1
Res//test/crosis_s_catacombs_1.txt  -- 1
Res//test/crosis_s_catacombs_2.txt  -- 1
Res//test/crumble.txt  -- 1
Res//test/crystal_rod_i172.txt  -- 1
Res//test/curiosity1_i217.txt  -- 1
Res//test/curiosity2_i217.txt  -- 1
Res//test/dark_banishing.txt  -- 1
Res//test/dauntless_escort.txt  -- 1
Res//test/dauthi_embrace.txt  -- 1
Res//test/death_grasp.txt  -- 1
Res//test/death_ward.txt  -- 1
Res//test/decree_of_justice.txt  -- 1
Res//test/deja_vu.txt  -- 1
Res//test/delusions_of_mediocrity.txt  -- 1
Res//test/dematerialize_flashback.txt  -- 1
Res//test/dingus_egg.txt  -- 1
Res//test/dingus_staff_i153.txt  -- 1
Res//test/divergent_growth.txt  -- 1
Res//test/doomed_necromancer.txt  -- 1
Res//test/double_strike2_i145.txt  -- 1
Res//test/double_strike_i145.txt  -- 1
Res//test/dragon_broodmother_i491.txt  -- 1
Res//test/dragon_fodder.txt  -- 1
Res//test/dragon_fodder2.txt  -- 1
Res//test/dragon_whelp_i154.txt  -- 1
Res//test/drain_life.txt  -- 1
Res//test/dream_fracture_i142.txt  -- 1
Res//test/drift_of_the_dead.txt  -- 1
Res//test/dromad_purebred.txt  -- 1
Res//test/dross_golem.txt  -- 1
Res//test/dross_harvester.txt  -- 1
Res//test/duskwalker.txt  -- 1
Res//test/dust_corona.txt  -- 1
Res//test/dwarven_warriors.txt  -- 1
Res//test/ebony_horse.txt  -- 1
Res//test/ekundu_cyclops1_i218.txt  -- 1
Res//test/ekundu_cyclops2_i218.txt  -- 1
Res//test/elvish_piper.txt  -- 1
Res//test/elvish_promenade.txt  -- 1
Res//test/emblem_of_the_warmind.txt  -- 1
Res//test/enchanted evening.txt  -- 1
Res//test/enchantress_s_presence.txt  -- 1
Res//test/enervate.txt  -- 1
Res//test/erg_raiders_i157.txt  -- 1
Res//test/explore.txt  -- 1
Res//test/fangren_pathcutter.txt  -- 1
Res//test/farhaven_elf.txt  -- 1
Res//test/farmstead.txt  -- 1
Res//test/fastbond.txt  -- 1
Res//test/fastbond2.txt  -- 1
Res//test/fault_line.txt  -- 1
Res//test/feral_hydra.txt  -- 1
Res//test/fieldmist_borderpost.txt  -- 1
Res//test/fire_tempest.txt  -- 1
Res//test/firebreathing.txt  -- 1
Res//test/fists_of_ironwood.txt  -- 1
Res//test/flagstones.txt  -- 1
Res//test/flame_fusillade_i265.txt  -- 1
Res//test/flare.txt  -- 1
Res//test/fledgling_imp.txt  -- 1
Res//test/fledgling_imp2.txt  -- 1
Res//test/fleshformer.txt  -- 1
Res//test/flowstone_hellion.txt  -- 1
Res//test/flowstone_slide.txt  -- 1
Res//test/fog.txt  -- 1
Res//test/fog_bank.txt  -- 1
Res//test/foratog.txt  -- 1
Res//test/force_of_nature.txt  -- 1
Res//test/force_of_nature2.txt  -- 1
Res//test/force_of_nature3.txt  -- 1
Res//test/fountain_of_youth.txt  -- 1
Res//test/frogmite.txt  -- 1
Res//test/fungus_sliver.txt  -- 1
Res//test/gamble.txt  -- 1
Res//test/gelatinous_generation.txt  -- 1
Res//test/gempalm_avenger.txt  -- 1
Res//test/generic/attacks_each_turn.txt  -- 1
Res//test/generic/becomes_transform_i559.txt  -- 1
Res//test/generic/becomes_transform_i559_2.txt  -- 1
Res//test/generic/bushido_1.txt  -- 1
Res//test/generic/bushido_2.txt  -- 1
Res//test/generic/cycling.txt  -- 1
Res//test/generic/cycling2.txt  -- 1
Res//test/generic/deathtouch.txt  -- 1
Res//test/generic/doesnotuntap.txt  -- 1
Res//test/generic/doesnotuntap2.txt  -- 1
Res//test/generic/double_strike.txt  -- 1
Res//test/generic/equip_landfall_buff.txt  -- 1
Res//test/generic/equip_reach.txt  -- 1
Res//test/generic/equip_shroud.txt  -- 1
Res//test/generic/equip_shroud2.txt  -- 1
Res//test/generic/equip_wither.txt  -- 1
Res//test/generic/equipment_i252.txt  -- 1
Res//test/generic/exalted.txt  -- 1
Res//test/generic/exalted_i143.txt  -- 1
Res//test/generic/exalted_i310.txt  -- 1
Res//test/generic/fear.txt  -- 1
Res//test/generic/fear_i147.txt  -- 1
Res//test/generic/first_and_double_strike1_i187.txt  -- 1
Res//test/generic/first_and_double_strike2_i187.txt  -- 1
Res//test/generic/first_strike.txt  -- 1
Res//test/generic/first_strike2.txt  -- 1
Res//test/generic/first_strike3.txt  -- 1
Res//test/generic/flanking.txt  -- 1
Res//test/generic/fresh.txt  -- 1
Res//test/generic/hybrid_mana.txt  -- 1
Res//test/generic/hybrid_mana_2.txt  -- 1
Res//test/generic/hybrid_mana_3.txt  -- 1
Res//test/generic/indestructible.txt  -- 1
Res//test/generic/kicker.txt  -- 1
Res//test/generic/kicker2.txt  -- 1
Res//test/generic/landwalk.txt  -- 1
Res//test/generic/legendary.txt  -- 1
Res//test/generic/level_up.txt  -- 1
Res//test/generic/level_up2.txt  -- 1
Res//test/generic/lifelink.txt  -- 1
Res//test/generic/lord_counter.txt  -- 1
Res//test/generic/lord_counter_any.txt  -- 1
Res//test/generic/m10_blockers.txt  -- 1
Res//test/generic/m10_blockers2.txt  -- 1
Res//test/generic/must1.txt  -- 1
Res//test/generic/must2.txt  -- 1
Res//test/generic/nofizzle.txt  -- 1
Res//test/generic/oneblocker.txt  -- 1
Res//test/generic/persist.txt  -- 1
Res//test/generic/persist2.txt  -- 1
Res//test/generic/persist3.txt  -- 1
Res//test/generic/phases.txt  -- 1
Res//test/generic/preventalldamage.txt  -- 1
Res//test/generic/rampage.txt  -- 1
Res//test/generic/rampage2.txt  -- 1
Res//test/generic/rampage3.txt  -- 1
Res//test/generic/rampage_vs_first_strike.txt  -- 1
Res//test/generic/regenerate.txt  -- 1
Res//test/generic/regenerate_wither_i146.txt  -- 1
Res//test/generic/sacrifice.txt  -- 1
Res//test/generic/summoning_sickness.txt  -- 1
Res//test/generic/sunburst.txt  -- 1
Res//test/generic/tap_other_card_as_cost.txt  -- 1
Res//test/generic/targetController_damage.txt  -- 1
Res//test/generic/targetController_life.txt  -- 1
Res//test/generic/targetController_life2.txt  -- 1
Res//test/generic/thisforeach.txt  -- 1
Res//test/generic/tokens.txt  -- 1
Res//test/generic/tokens2.txt  -- 1
Res//test/generic/trample.txt  -- 1
Res//test/generic/trample_vs_indestructible.txt  -- 1
Res//test/generic/trample_vs_multiblock.txt  -- 1
Res//test/generic/triggers_at_movedto_i179.txt  -- 1
Res//test/generic/triggers_attacking.txt  -- 1
Res//test/generic/triggers_blocking.txt  -- 1
Res//test/generic/triggers_combatdamaged_1.txt  -- 1
Res//test/generic/triggers_combatdamaged_2.txt  -- 1
Res//test/generic/triggers_drawn.txt  -- 1
Res//test/generic/triggers_noncombatdamaged.txt  -- 1
Res//test/generic/triggers_untapped.txt  -- 1
Res//test/generic/wither.txt  -- 1
Res//test/ghost_warden.txt  -- 1
Res//test/giant_growth.txt  -- 1
Res//test/giant_growth2.txt  -- 1
Res//test/glen_elendra_archmage_i222.txt  -- 1
Res//test/glimpse_the_unthinkable.txt  -- 1
Res//test/gnarled_effigy.txt  -- 1
Res//test/gnat_alley_creeper1.txt  -- 1
Res//test/gnat_alley_creeper2.txt  -- 1
Res//test/goblin_balloon_brigade.txt  -- 1
Res//test/goblin_balloon_brigade2.txt  -- 1
Res//test/goblin_gardener.txt  -- 1
Res//test/goblin_king.txt  -- 1
Res//test/goblin_lackey1.txt  -- 1
Res//test/goblin_lackey2.txt  -- 1
Res//test/goblin_lackey3.txt  -- 1
Res//test/goblin_lackey4.txt  -- 1
Res//test/goblin_offensive.txt  -- 1
Res//test/goblin_razerunners.txt  -- 1
Res//test/golgari_germination_i153.txt  -- 1
Res//test/gravedigger.txt  -- 1
Res//test/gravity_well.txt  -- 1
Res//test/gravity_well2.txt  -- 1
Res//test/great_defender.txt  -- 1
Res//test/hannas_custody.txt  -- 1
Res//test/harpoon_sniper.txt  -- 1
Res//test/hellfire.txt  -- 1
Res//test/helm_of_kaldra1.txt  -- 1
Res//test/holy_day_i226.txt  -- 1
Res//test/hope_charm_i267.txt  -- 1
Res//test/hopping_automaton_i232.txt  -- 1
Res//test/horned_helm.txt  -- 1
Res//test/howl_from_beyond.txt  -- 1
Res//test/howl_of_the_night_pack.txt  -- 1
Res//test/hunted_dragon.txt  -- 1
Res//test/hunting_pack.txt  -- 1
Res//test/hurricane.txt  -- 1
Res//test/hyalopterous_lemure.txt  -- 1
Res//test/hymn_of_rebirth.txt  -- 1
Res//test/hypnotic_specter.txt  -- 1
Res//test/icatian_priest.txt  -- 1
Res//test/imaginary_pet.txt  -- 1
Res//test/immaculate_magistrate.txt  -- 1
Res//test/incinerate.txt  -- 1
Res//test/instill_energy_i166.txt  -- 1
Res//test/iron_will_i270.txt  -- 1
Res//test/ivy_elemental.txt  -- 1
Res//test/jodahs_avenger.txt  -- 1
Res//test/juggernaut.txt  -- 1
Res//test/jump.txt  -- 1
Res//test/juniper_order_ranger.txt  -- 1
Res//test/karns_touch_i233.txt  -- 1
Res//test/keldon_warlord.txt  -- 1
Res//test/keldon_warlord2.txt  -- 1
Res//test/khalni_hydra.txt  -- 1
Res//test/kird_ape.txt  -- 1
Res//test/kjeldoran_frostbeast1.txt  -- 1
Res//test/kjeldoran_frostbeast2_i167.txt  -- 1
Res//test/knight_captain_of_eos_i294.txt  -- 1
Res//test/knight_captain_of_eos_i294_2.txt  -- 1
Res//test/kormus_bell_i301.txt  -- 1
Res//test/kraken_eye.txt  -- 1
Res//test/kraken_eye2.txt  -- 1
Res//test/kraken_eye3.txt  -- 1
Res//test/kraken_eye4.txt  -- 1
Res//test/krosan_beast.txt  -- 1
Res//test/krosan_beast2.txt  -- 1
Res//test/kudzu.txt  -- 1
Res//test/kudzu2.txt  -- 1
Res//test/kudzu_i168.txt  -- 1
Res//test/leveler.txt  -- 1
Res//test/lhurgoyf.txt  -- 1
Res//test/liability.txt  -- 1
Res//test/lifeforce.txt  -- 1
Res//test/lifetap.txt  -- 1
Res//test/lightmine_field1.txt  -- 1
Res//test/lightmine_field2.txt  -- 1
Res//test/living_artifact_i169.txt  -- 1
Res//test/living_lands.txt  -- 1
Res//test/lord_of_the_pit.txt  -- 1
Res//test/lord_of_the_pit2.txt  -- 1
Res//test/magma_spray.txt  -- 1
Res//test/martial_coup.txt  -- 1
Res//test/martial_coup2.txt  -- 1
Res//test/master_decoy.txt  -- 1
Res//test/master_of_etherium.txt  -- 1
Res//test/masticore.txt  -- 1
Res//test/masticore2.txt  -- 1
Res//test/maze_of_ith.txt  -- 1
Res//test/meekstone.txt  -- 1
Res//test/memnarch.txt  -- 1
Res//test/memory_erosion.txt  -- 1
Res//test/mephidross_vampire.txt  -- 1
Res//test/millstone.txt  -- 1
Res//test/mirri_the_cursed.txt  -- 1
Res//test/mirri_the_cursed2_i284.txt  -- 1
Res//test/misc01.txt  -- 1
Res//test/moat.txt  -- 1
Res//test/mobile_fort.txt  -- 1
Res//test/momir/keldon_warlord.txt  -- 1
Res//test/momir/overcost.txt  -- 1
Res//test/momir/persist_i304.txt  -- 1
Res//test/mortuary.txt  -- 1
Res//test/nantuko_husk.txt  -- 1
Res//test/natural_order.txt  -- 1
Res//test/necrogenesis.txt  -- 1
Res//test/nightmare.txt  -- 1
Res//test/northern_paladin.txt  -- 1
Res//test/northern_paladin2.txt  -- 1
Res//test/ondu_cleric.txt  -- 1
Res//test/orcish_artillery.txt  -- 1
Res//test/orcish_lumberjack.txt  -- 1
Res//test/overrun.txt  -- 1
Res//test/paradise_mantle.txt  -- 1
Res//test/paralysis.txt  -- 1
Res//test/paralysis2.txt  -- 1
Res//test/persuasion.txt  -- 1
Res//test/phytohydra.txt  -- 1
Res//test/plague_rats.txt  -- 1
Res//test/plumes_of_peace_i260.txt  -- 1
Res//test/pouncing_jaguar_i425.txt  -- 1
Res//test/promise_of_bunrei_i305.txt  -- 1
Res//test/prosperity.txt  -- 1
Res//test/protomatter_powder.txt  -- 1
Res//test/prowess_of_the_fair.txt  -- 1
Res//test/prowess_of_the_fair2.txt  -- 1
Res//test/prowess_of_the_fair3.txt  -- 1
Res//test/pygmy_troll.txt  -- 1
Res//test/pyknite_i426.txt  -- 1
Res//test/pyroclasm.txt  -- 1
Res//test/quilled_sliver.txt  -- 1
Res//test/rain_of_filth_i206.txt  -- 1
Res//test/rain_of_filth_i283.txt  -- 1
Res//test/rampant_growth.txt  -- 1
Res//test/rancid_earth_with_threshold.txt  -- 1
Res//test/rancid_earth_without_threshold.txt  -- 1
Res//test/rancor.txt  -- 1
Res//test/ray_of_command.txt  -- 1
Res//test/ray_of_command_i176.txt  -- 1
Res//test/razor_golem.txt  -- 1
Res//test/reclusive_wight.txt  -- 1
Res//test/reclusive_wight2.txt  -- 1
Res//test/recover.txt  -- 1
Res//test/regal_force.txt  -- 1
Res//test/reinforcements_1.txt  -- 1
Res//test/resounding_roar.txt  -- 1
Res//test/resurrection.txt  -- 1
Res//test/resuscitate_i210.txt  -- 1
Res//test/righteous_cause.txt  -- 1
Res//test/river_kelpie2_i335.txt  -- 1
Res//test/rockslide_elemental.txt  -- 1
Res//test/rootwalla.txt  -- 1
Res//test/royal_assassin.txt  -- 1
Res//test/sacred_foundry_i275.txt  -- 1
Res//test/safe_passage.txt  -- 1
Res//test/safehold_duo.txt  -- 1
Res//test/samite_healer.txt  -- 1
Res//test/scourge_of_kher_ridges.txt  -- 1
Res//test/scourge_of_kher_ridges2.txt  -- 1
Res//test/scourglass.txt  -- 1
Res//test/scouts_warning.txt  -- 1
Res//test/scute_mob.txt  -- 1
Res//test/sedge_sliver.txt  -- 1
Res//test/seedcradle_witch.txt  -- 1
Res//test/seismic_assault.txt  -- 1
Res//test/seismic_spike_i191.txt  -- 1
Res//test/selesnya_guildmage.txt  -- 1
Res//test/shard_volley.txt  -- 1
Res//test/shepherd_of_rot.txt  -- 1
Res//test/shivan_hellkite.txt  -- 1
Res//test/shock.txt  -- 1
Res//test/shock2.txt  -- 1
Res//test/siege_gang_commander.txt  -- 1
Res//test/sigil_captain_i467.txt  -- 1
Res//test/silver_seraph_i300.txt  -- 1
Res//test/simic_initiate.txt  -- 1
Res//test/skullcage0_i239.txt  -- 1
Res//test/skullcage1_i239.txt  -- 1
Res//test/skullcage2_i239.txt  -- 1
Res//test/skullcage3_i239.txt  -- 1
Res//test/skullcage4_i239.txt  -- 1
Res//test/skullcage5_i239.txt  -- 1
Res//test/skullcage6_i239.txt  -- 1
Res//test/skullcage7_i239.txt  -- 1
Res//test/skullclamp.txt  -- 1
Res//test/skullclamp2_i439.txt  -- 1
Res//test/slate_of_ancestry.txt  -- 1
Res//test/sleeper_agent.txt  -- 1
Res//test/slith_bloodletter.txt  -- 1
Res//test/sneak_attack.txt  -- 1
Res//test/soulblast.txt  -- 1
Res//test/souls_attendant_i489.txt  -- 1
Res//test/spark_elemental.txt  -- 1
Res//test/sphinx_summoner.txt  -- 1
Res//test/spirit_link.txt  -- 1
Res//test/spitting_earth.txt  -- 1
Res//test/spoils_of_evil.txt  -- 1
Res//test/spore_frog.txt  -- 1
Res//test/stasis.txt  -- 1
Res//test/steelclad_serpent1.txt  -- 1
Res//test/steelclad_serpent2.txt  -- 1
Res//test/stillmoon_cavalier.txt  -- 1
Res//test/stonebrow2.txt  -- 1
Res//test/stonebrow_i159.txt  -- 1
Res//test/stronghold_discipline.txt  -- 1
Res//test/sword_to_plowshares.txt  -- 1
Res//test/sylvan_scrying_i195.txt  -- 1
Res//test/symbiotic_wurm.txt  -- 1
Res//test/tangle_golem.txt  -- 1
Res//test/tanglesap.txt  -- 1
Res//test/telekinetic_sliver.txt  -- 1
Res//test/terror.txt  -- 1
Res//test/terror2.txt  -- 1
Res//test/thallid.txt  -- 1
Res//test/thellon_of_havenwood.txt  -- 1
Res//test/threaten.txt  -- 1
Res//test/throne_of_bone.txt  -- 1
Res//test/thunder-thrash_elder.txt  -- 1
Res//test/titanic_ultimatum.txt  -- 1
Res//test/tolsimir_wolfblood.txt  -- 1
Res//test/torture.txt  -- 1
Res//test/tranquil_domain.txt  -- 1
Res//test/twinstrike.txt  -- 1
Res//test/twinstrike2.txt  -- 1
Res//test/twinstrike3.txt  -- 1
Res//test/twitch.txt  -- 1
Res//test/uncle_istvan.txt  -- 1
Res//test/undermine_i408.txt  -- 1
Res//test/underworld_dreams.txt  -- 1
Res//test/unearth1.txt  -- 1
Res//test/unearth2.txt  -- 1
Res//test/unearth3.txt  -- 1
Res//test/unstable_mutation.txt  -- 1
Res//test/unstable_mutation2.txt  -- 1
Res//test/unwilling_recruit.txt  -- 1
Res//test/urzas_lands.txt  -- 1
Res//test/urzas_lands2.txt  -- 1
Res//test/urzas_mine_i287.txt  -- 1
Res//test/vampire_bats.txt  -- 1
Res//test/vampiric_link.txt  -- 1
Res//test/vine_dryad.txt  -- 1
Res//test/volcanic_eruption.txt  -- 1
Res//test/walking_wall.txt  -- 1
Res//test/wall_of_diffusion.txt  -- 1
Res//test/wall_of_diffusion2.txt  -- 1
Res//test/warren_instigator.txt  -- 1
Res//test/welkin_hawk.txt  -- 1
Res//test/whispers_of_the_muse.txt  -- 1
Res//test/white_knight1.txt  -- 1
Res//test/windswept_heath.txt  -- 1
Res//test/wrath_of_god.txt  -- 1
Res//test/wrath_of_god2.txt  -- 1
Res//test/wreak_havoc.txt  -- 1
Res//test/zombie_master.txt  -- 1
Res//test/zombify.txt  -- 1
Res/22222220.jpg  -- 1
Res/42187t.jpg  -- 1
Res/4514111t.jpg  -- 1
Res/4838511t.jpg  -- 1
Res/4838512t.jpg  -- 1
Res/51613t.jpg  -- 1
Res/89069t.jpg  -- 1
Res/Advisor.wav  -- 1
Res/Ally.wav  -- 1
Res/Angel Token.jpg  -- 1
Res/Angel.wav  -- 1
Res/Ape.wav  -- 1
Res/Archer.wav  -- 1
Res/Assassin.wav  -- 1
Res/Atog.wav  -- 1
Res/Aura.wav  -- 1
Res/Barbarian.wav  -- 1
Res/Basic.wav  -- 1
Res/Bat.wav  -- 1
Res/Bear.jpg  -- 1
Res/Beast Token.jpg  -- 1
Res/Berserker.wav  -- 1
Res/Bird.wav  -- 1
Res/Centaur.wav  -- 1
Res/Cleric.wav  -- 1
Res/Cockatrice.wav  -- 1
Res/Construct.wav  -- 1
Res/Crocodile.wav  -- 1
Res/Cyclops.wav  -- 1
Res/Dauthi.wav  -- 1
Res/Demon.wav  -- 1
Res/Dragon.jpg  -- 1
Res/Drake.wav  -- 1
Res/Druid.wav  -- 1
Res/Dryad.wav  -- 1
Res/Dwarf.wav  -- 1
Res/Efreet.wav  -- 1
Res/Elemental.wav  -- 1
Res/Elephant.wav  -- 1
Res/Elf.wav  -- 1
Res/Elk.wav  -- 1
Res/Equipment.wav  -- 1
Res/Forest.wav  -- 1
Res/Frog.wav  -- 1
Res/Fungus.wav  -- 1
Res/Giant.wav  -- 1
Res/Gnome.wav  -- 1
Res/Golem.wav  -- 1
Res/Horror.wav  -- 1
Res/Horse.wav  -- 1
Res/Hydra.wav  -- 1
Res/Illusion.wav  -- 1
Res/Insect Token.jpg  -- 1
Res/Insect.jpg  -- 1
Res/Insect.wav  -- 1
Res/Island.wav  -- 1
Res/Juggernaut.wav  -- 1
Res/Kithkin.wav  -- 1
Res/Kobold.wav  -- 1
Res/Kor.wav  -- 1
Res/Kraken.wav  -- 1
Res/Lair.wav  -- 1
Res/Land.wav  -- 1
Res/Leech.wav  -- 1
Res/Legendary.wav  -- 1
Res/Leviathan.wav  -- 1
Res/Lhurgoyf.wav  -- 1
Res/Lizard.wav  -- 1
Res/Masticore.wav  -- 1
Res/Mercenary.wav  -- 1
Res/Merfolk.wav  -- 1
Res/Metathran.wav  -- 1
Res/Minion.wav  -- 1
Res/Minotaur.wav  -- 1
Res/Monk.wav  -- 1
Res/Mountain.wav  -- 1
Res/Mutant.wav  -- 1
Res/Myr.wav  -- 1
Res/Nightmare.wav  -- 1
Res/Nothing.wav  -- 1
Res/Ogre.wav  -- 1
Res/Ooze.wav  -- 1
Res/Orc.wav  -- 1
Res/Orgg.wav  -- 1
Res/Ouphe.wav  -- 1
Res/Pirate.wav  -- 1
Res/Plains.wav  -- 1
Res/Plant.wav  -- 1
Res/Rat.wav  -- 1
Res/Rebel.wav  -- 1
Res/Res/ai/baka/deck107.txt  -- 1
Res/Rhino.wav  -- 1
Res/Rogue.wav  -- 1
Res/Samurai.wav  -- 1
Res/Saproling.jpg  -- 1
Res/Saproling.wav  -- 1
Res/Scarecrow.wav  -- 1
Res/Scout.wav  -- 1
Res/Serpent.wav  -- 1
Res/Shade.wav  -- 1
Res/Shaman.wav  -- 1
Res/Shapeshifter.wav  -- 1
Res/Siren.wav  -- 1
Res/Skeleton.wav  -- 1
Res/Slith.wav  -- 1
Res/Sliver.wav  -- 1
Res/Snake.wav  -- 1
Res/Snow.wav  -- 1
Res/Soldier.wav  -- 1
Res/Specter.wav  -- 1
Res/Sphinx.wav  -- 1
Res/Spider.wav  -- 1
Res/Spirit.wav  -- 1
Res/Swamp.wav  -- 1
Res/Thopter.wav  -- 1
Res/Treefolk.wav  -- 1
Res/Vedalken.wav  -- 1
Res/Viashino.wav  -- 1
Res/Wall.wav  -- 1
Res/Warrior.wav  -- 1
Res/Wizard.wav  -- 1
Res/Wolf.wav  -- 1
Res/Wraith.wav  -- 1
Res/affinitygreencreatures.wav  -- 1
Res/ai/baka/avatars/baka.jpg  -- 521
Res/ai/baka/deck1.txt  -- 2
Res/ai/baka/deck10.txt  -- 2
Res/ai/baka/deck100.txt  -- 2
Res/ai/baka/deck101.txt  -- 2
Res/ai/baka/deck102.txt  -- 2
Res/ai/baka/deck103.txt  -- 2
Res/ai/baka/deck104.txt  -- 2
Res/ai/baka/deck105.txt  -- 2
Res/ai/baka/deck106.txt  -- 2
Res/ai/baka/deck107.txt  -- 1
Res/ai/baka/deck11.txt  -- 2
Res/ai/baka/deck12.txt  -- 2
Res/ai/baka/deck13.txt  -- 2
Res/ai/baka/deck14.txt  -- 2
Res/ai/baka/deck15.txt  -- 2
Res/ai/baka/deck16.txt  -- 2
Res/ai/baka/deck17.txt  -- 2
Res/ai/baka/deck18.txt  -- 2
Res/ai/baka/deck19.txt  -- 2
Res/ai/baka/deck2.txt  -- 2
Res/ai/baka/deck20.txt  -- 2
Res/ai/baka/deck21.txt  -- 2
Res/ai/baka/deck22.txt  -- 2
Res/ai/baka/deck23.txt  -- 2
Res/ai/baka/deck24.txt  -- 2
Res/ai/baka/deck25.txt  -- 2
Res/ai/baka/deck26.txt  -- 2
Res/ai/baka/deck27.txt  -- 2
Res/ai/baka/deck28.txt  -- 2
Res/ai/baka/deck29.txt  -- 2
Res/ai/baka/deck3.txt  -- 2
Res/ai/baka/deck30.txt  -- 2
Res/ai/baka/deck31.txt  -- 2
Res/ai/baka/deck32.txt  -- 2
Res/ai/baka/deck33.txt  -- 2
Res/ai/baka/deck34.txt  -- 2
Res/ai/baka/deck35.txt  -- 2
Res/ai/baka/deck36.txt  -- 2
Res/ai/baka/deck37.txt  -- 2
Res/ai/baka/deck38.txt  -- 2
Res/ai/baka/deck39.txt  -- 2
Res/ai/baka/deck4.txt  -- 2
Res/ai/baka/deck40.txt  -- 2
Res/ai/baka/deck41.txt  -- 2
Res/ai/baka/deck42.txt  -- 2
Res/ai/baka/deck43.txt  -- 2
Res/ai/baka/deck44.txt  -- 2
Res/ai/baka/deck45.txt  -- 2
Res/ai/baka/deck46.txt  -- 2
Res/ai/baka/deck47.txt  -- 2
Res/ai/baka/deck48.txt  -- 2
Res/ai/baka/deck49.txt  -- 2
Res/ai/baka/deck5.txt  -- 2
Res/ai/baka/deck50.txt  -- 2
Res/ai/baka/deck51.txt  -- 2
Res/ai/baka/deck52.txt  -- 2
Res/ai/baka/deck53.txt  -- 2
Res/ai/baka/deck54.txt  -- 2
Res/ai/baka/deck55.txt  -- 2
Res/ai/baka/deck56.txt  -- 2
Res/ai/baka/deck57.txt  -- 2
Res/ai/baka/deck58.txt  -- 2
Res/ai/baka/deck59.txt  -- 2
Res/ai/baka/deck6.txt  -- 2
Res/ai/baka/deck60.txt  -- 2
Res/ai/baka/deck61.txt  -- 2
Res/ai/baka/deck62.txt  -- 2
Res/ai/baka/deck63.txt  -- 2
Res/ai/baka/deck64.txt  -- 2
Res/ai/baka/deck65.txt  -- 2
Res/ai/baka/deck66.txt  -- 2
Res/ai/baka/deck67.txt  -- 2
Res/ai/baka/deck68.txt  -- 2
Res/ai/baka/deck69.txt  -- 2
Res/ai/baka/deck7.txt  -- 2
Res/ai/baka/deck70.txt  -- 2
Res/ai/baka/deck71.txt  -- 2
Res/ai/baka/deck72.txt  -- 2
Res/ai/baka/deck73.txt  -- 2
Res/ai/baka/deck74.txt  -- 2
Res/ai/baka/deck75.txt  -- 2
Res/ai/baka/deck76.txt  -- 2
Res/ai/baka/deck77.txt  -- 2
Res/ai/baka/deck78.txt  -- 2
Res/ai/baka/deck79.txt  -- 2
Res/ai/baka/deck8.txt  -- 2
Res/ai/baka/deck80.txt  -- 2
Res/ai/baka/deck81.txt  -- 2
Res/ai/baka/deck82.txt  -- 2
Res/ai/baka/deck83.txt  -- 2
Res/ai/baka/deck84.txt  -- 2
Res/ai/baka/deck85.txt  -- 2
Res/ai/baka/deck86.txt  -- 2
Res/ai/baka/deck87.txt  -- 2
Res/ai/baka/deck88.txt  -- 2
Res/ai/baka/deck89.txt  -- 2
Res/ai/baka/deck9.txt  -- 2
Res/ai/baka/deck90.txt  -- 2
Res/ai/baka/deck91.txt  -- 2
Res/ai/baka/deck92.txt  -- 2
Res/ai/baka/deck93.txt  -- 2
Res/ai/baka/deck94.txt  -- 2
Res/ai/baka/deck95.txt  -- 2
Res/ai/baka/deck96.txt  -- 2
Res/ai/baka/deck97.txt  -- 2
Res/ai/baka/deck98.txt  -- 2
Res/ai/baka/deck99.txt  -- 2
Res/ai/baka/stats/testsuite.stats  -- 1042
Res/defender.wav  -- 1
Res/fear.wav  -- 1
Res/first strike.wav  -- 1
Res/flash.wav  -- 1
Res/forestwalk.wav  -- 1
Res/graphics/BattleIcon.png  -- 1
Res/graphics/DefenderIcon.png  -- 1
Res/graphics/Ok.png  -- 521
Res/graphics/artifact_thumb.jpg  -- 34
Res/graphics/black_thumb.jpg  -- 1
Res/graphics/button_shoulder.png  -- 2
Res/graphics/f3.png  -- 1
Res/graphics/gold.png  -- 1
Res/graphics/gold_thumb.jpg  -- 1
Res/graphics/goldglow.png  -- 1
Res/graphics/green.jpg  -- 1
Res/graphics/green_thumb.jpg  -- 5
Res/graphics/magic.png  -- 1
Res/graphics/mana.psi  -- 1
Res/graphics/manablack.psi  -- 1
Res/graphics/manablue.psi  -- 1
Res/graphics/managreen.psi  -- 1
Res/graphics/manared.psi  -- 1
Res/graphics/manawhite.psi  -- 1
Res/graphics/menuicons.png  -- 1
Res/graphics/menuside.png  -- 1
Res/graphics/menutitle.png  -- 2
Res/graphics/particle1.psi  -- 1
Res/graphics/particle2.psi  -- 1
Res/graphics/particle3.psi  -- 1
Res/graphics/particle4.psi  -- 1
Res/graphics/particle5.psi  -- 1
Res/graphics/particles.png  -- 1
Res/graphics/phasebar.png  -- 1
Res/graphics/shadow.png  -- 1
Res/graphics/simon.png  -- 1
Res/graphics/smallface.png  -- 1
Res/graphics/spade_ul.png  -- 1
Res/graphics/spade_ur.png  -- 1
Res/graphics/splash.jpg  -- 2
Res/graphics/stars.psi  -- 1
Res/graphics/style.txt  -- 1
Res/graphics/wallpapers.txt  -- 1
Res/graphics/wallpapers/final_saga2.jpg  -- 1
Res/graphics/white_thumb.jpg  -- 1
Res/haste.wav  -- 1
Res/lang/dontcare.txt  -- 2
Res/lang/en.txt  -- 3
Res/lang/en_cards.txt  -- 1
Res/lang/en_decks.txt  -- 1
Res/lifelink.wav  -- 1
Res/ms0:/PSP/wagic_res/graphics/simon.dat  -- 1
Res/ms0:/wagic_res/graphics/simon.dat  -- 1
Res/mustattack.wav  -- 1
Res/nofizzle.wav  -- 1
Res/none  -- 1
Res/persist.wav  -- 1
Res/player/baka.jpg  -- 521
Res/player/collection.dat  -- 4
Res/player/data.dat  -- 2
Res/player/deck1.txt  -- 2
Res/player/deck2.txt  -- 2
Res/player/deck3.txt  -- 2
Res/player/deck4.txt  -- 2
Res/player/deck5.txt  -- 2
Res/player/deck6.txt  -- 2
Res/player/options.txt  -- 2
Res/player/stats/player_deck1.txt  -- 4
Res/player/stats/player_deck2.txt  -- 4
Res/player/stats/player_deck3.txt  -- 4
Res/player/stats/player_deck4.txt  -- 4
Res/player/stats/player_deck5.txt  -- 4
Res/player/stats/player_deck6.txt  -- 4
Res/player/tasks.dat  -- 2
Res/protection from black.wav  -- 1
Res/protection from blue.wav  -- 1
Res/protection from white.wav  -- 1
Res/reach.wav  -- 1
Res/reachshadow.wav  -- 1
Res/rules/testsuite.txt  -- 1
Res/sets//../_cards.dat  -- 1
Res/sets//./_cards.dat  -- 1
Res/sets//.svn/_cards.dat  -- 1
Res/sets//10E/_cards.dat  -- 2
Res/sets//1111114t.jpg  -- 1
Res/sets//1924t.jpg  -- 1
Res/sets//220579112.jpg  -- 1
Res/sets//2ED/_cards.dat  -- 2
Res/sets//483851111t.jpg  -- 1
Res/sets//4ED/_cards.dat  -- 2
Res/sets//5DN/_cards.dat  -- 2
Res/sets//5ED/_cards.dat  -- 2
Res/sets//6ED/_cards.dat  -- 2
Res/sets//7ED/_cards.dat  -- 2
Res/sets//8ED/_cards.dat  -- 2
Res/sets//9ED/_cards.dat  -- 2
Res/sets//ALA/_cards.dat  -- 2
Res/sets//ALL/_cards.dat  -- 2
Res/sets//APC/_cards.dat  -- 2
Res/sets//ARB/_cards.dat  -- 2
Res/sets//ARC/_cards.dat  -- 2
Res/sets//ARN/_cards.dat  -- 2
Res/sets//ATQ/_cards.dat  -- 2
Res/sets//BOK/_cards.dat  -- 2
Res/sets//BRB/_cards.dat  -- 2
Res/sets//BTD/_cards.dat  -- 2
Res/sets//Brainstorm's 2nd MoveToTop.jpg  -- 1
Res/sets//CFX/_cards.dat  -- 2
Res/sets//CHK/_cards.dat  -- 2
Res/sets//CHR/_cards.dat  -- 2
Res/sets//CSP/_cards.dat  -- 2
Res/sets//DIS/_cards.dat  -- 2
Res/sets//DRK/_cards.dat  -- 2
Res/sets//DST/_cards.dat  -- 2
Res/sets//DVD/_cards.dat  -- 2
Res/sets//EVE/_cards.dat  -- 2
Res/sets//EVG/_cards.dat  -- 2
Res/sets//EVT/_cards.dat  -- 2
Res/sets//EXO/_cards.dat  -- 2
Res/sets//FEM/_cards.dat  -- 2
Res/sets//FUT/_cards.dat  -- 2
Res/sets//FVD/_cards.dat  -- 2
Res/sets//FVE/_cards.dat  -- 2
Res/sets//FVR/_cards.dat  -- 2
Res/sets//GPT/_cards.dat  -- 2
Res/sets//GVL/_cards.dat  -- 2
Res/sets//HML/_cards.dat  -- 2
Res/sets//HOP/_cards.dat  -- 2
Res/sets//ICE/_cards.dat  -- 2
Res/sets//INV/_cards.dat  -- 2
Res/sets//JUD/_cards.dat  -- 2
Res/sets//JVC/_cards.dat  -- 2
Res/sets//LEA/_cards.dat  -- 2
Res/sets//LEB/_cards.dat  -- 2
Res/sets//LEG/_cards.dat  -- 2
Res/sets//LGN/_cards.dat  -- 2
Res/sets//LRW/_cards.dat  -- 2
Res/sets//M10/_cards.dat  -- 2
Res/sets//M11/_cards.dat  -- 2
Res/sets//ME2/_cards.dat  -- 2
Res/sets//ME3/_cards.dat  -- 2
Res/sets//ME4/_cards.dat  -- 2
Res/sets//MED/_cards.dat  -- 2
Res/sets//MIR/_cards.dat  -- 2
Res/sets//MOR/_cards.dat  -- 2
Res/sets//MRD/_cards.dat  -- 2
Res/sets//MRQ/_cards.dat  -- 2
Res/sets//NMS/_cards.dat  -- 2
Res/sets//ODY/_cards.dat  -- 2
Res/sets//ONS/_cards.dat  -- 2
Res/sets//One Dozen Eyes Entwine.jpg  -- 1
Res/sets//P02/_cards.dat  -- 2
Res/sets//PCY/_cards.dat  -- 2
Res/sets//PD2/_cards.dat  -- 2
Res/sets//PDS/_cards.dat  -- 2
Res/sets//PLC/_cards.dat  -- 2
Res/sets//PLS/_cards.dat  -- 2
Res/sets//POR/_cards.dat  -- 2
Res/sets//PPR/_cards.dat  -- 2
Res/sets//PTK/_cards.dat  -- 2
Res/sets//PVC/_cards.dat  -- 2
Res/sets//RAV/_cards.dat  -- 2
Res/sets//ROE/_cards.dat  -- 2
Res/sets//RV/_cards.dat  -- 2
Res/sets//S00/_cards.dat  -- 2
Res/sets//S99/_cards.dat  -- 2
Res/sets//SCG/_cards.dat  -- 2
Res/sets//SHM/_cards.dat  -- 2
Res/sets//SOK/_cards.dat  -- 2
Res/sets//SOM/_cards.dat  -- 2
Res/sets//STH/_cards.dat  -- 2
Res/sets//Saproling.jpg  -- 1
Res/sets//TMP/_cards.dat  -- 2
Res/sets//TOR/_cards.dat  -- 2
Res/sets//TSB/_cards.dat  -- 2
Res/sets//TSP/_cards.dat  -- 2
Res/sets//UDS/_cards.dat  -- 2
Res/sets//UGL/_cards.dat  -- 2
Res/sets//ULG/_cards.dat  -- 2
Res/sets//UNH/_cards.dat  -- 2
Res/sets//USG/_cards.dat  -- 2
Res/sets//VIS/_cards.dat  -- 2
Res/sets//WTH/_cards.dat  -- 2
Res/sets//WWK/_cards.dat  -- 2
Res/sets//ZEN/_cards.dat  -- 2
Res/sets//Zombie.jpg  -- 1
Res/sets//artifact.jpg/_cards.dat  -- 1
Res/sets//artifact_thumb.jpg/_cards.dat  -- 1
Res/sets//back.jpg/_cards.dat  -- 1
Res/sets//back_thumb.jpg/_cards.dat  -- 1
Res/sets//black.jpg/_cards.dat  -- 1
Res/sets//black_thumb.jpg/_cards.dat  -- 1
Res/sets//blue.jpg/_cards.dat  -- 1
Res/sets//blue_thumb.jpg/_cards.dat  -- 1
Res/sets//gold.jpg/_cards.dat  -- 1
Res/sets//gold_thumb.jpg/_cards.dat  -- 1
Res/sets//green.jpg/_cards.dat  -- 1
Res/sets//green_thumb.jpg/_cards.dat  -- 1
Res/sets//land.jpg/_cards.dat  -- 1
Res/sets//land_thumb.jpg/_cards.dat  -- 1
Res/sets//mtg_todo.dat/_cards.dat  -- 1
Res/sets//primitives/_cards.dat  -- 1
Res/sets//red.jpg/_cards.dat  -- 1
Res/sets//red_thumb.jpg/_cards.dat  -- 1
Res/sets//scheme_todo.dat/_cards.dat  -- 1
Res/sets//thumbnails/1111114t.jpg  -- 1
Res/sets//thumbnails/1111135t.jpg  -- 1
Res/sets//thumbnails/1924t.jpg  -- 1
Res/sets//thumbnails/220579111t.jpg  -- 1
Res/sets//thumbnails/220579112.jpg  -- 1
Res/sets//thumbnails/220579112t.jpg  -- 1
Res/sets//thumbnails/22222223.jpg  -- 1
Res/sets//thumbnails/22222226.jpg  -- 1
Res/sets//thumbnails/483851111t.jpg  -- 1
Res/sets//thumbnails/Brainstorm's 2nd MoveToTop.jpg  -- 1
Res/sets//thumbnails/Devour 3 (Mechanic).jpg  -- 1
Res/sets//thumbnails/Devour Sac 3.jpg  -- 1
Res/sets//thumbnails/One Dozen Eyes Entwine.jpg  -- 1
Res/sets//thumbnails/Reinforcements' 3rd Return.jpg  -- 1
Res/sets//thumbnails/Saproling.jpg  -- 1
Res/sets//thumbnails/ZombInfs First Discard.jpg  -- 1
Res/sets//thumbnails/ZombInfs Second Discard.jpg  -- 1
Res/sets//thumbnails/Zombie.jpg  -- 1
Res/sets//white.jpg/_cards.dat  -- 1
Res/sets//white_thumb.jpg/_cards.dat  -- 1
Res/sets/artifact_thumb.jpg  -- 34
Res/sets/black_thumb.jpg  -- 1
Res/sets/gold_thumb.jpg  -- 1
Res/sets/green.jpg  -- 1
Res/sets/green_thumb.jpg  -- 5
Res/sets/primitives/.  -- 1
Res/sets/primitives/..  -- 1
Res/sets/primitives/.svn  -- 1
Res/sets/primitives/borderline.txt  -- 2
Res/sets/primitives/mtg.txt  -- 2
Res/sets/splash.jpg  -- 1
Res/sets/style.txt  -- 1
Res/sets/white_thumb.jpg  -- 1
Res/settings/options.txt  -- 1
Res/settings/prices.dat  -- 1
Res/shadow.wav  -- 1
Res/sound/Track0.mp3  -- 3
Res/sound/Track1.mp3  -- 2
Res/sound/none  -- 1
Res/sound/sfx/Advisor.wav  -- 1
Res/sound/sfx/Ally.wav  -- 1
Res/sound/sfx/Angel.wav  -- 1
Res/sound/sfx/Ape.wav  -- 1
Res/sound/sfx/Archer.wav  -- 1
Res/sound/sfx/Artifact.wav  -- 1
Res/sound/sfx/Assassin.wav  -- 1
Res/sound/sfx/Atog.wav  -- 1
Res/sound/sfx/Aura.wav  -- 1
Res/sound/sfx/Barbarian.wav  -- 1
Res/sound/sfx/Basic.wav  -- 1
Res/sound/sfx/Bat.wav  -- 1
Res/sound/sfx/Bear.wav  -- 1
Res/sound/sfx/Beast.wav  -- 1
Res/sound/sfx/Berserker.wav  -- 1
Res/sound/sfx/Bird.wav  -- 1
Res/sound/sfx/Cat.wav  -- 1
Res/sound/sfx/Centaur.wav  -- 1
Res/sound/sfx/Cleric.wav  -- 1
Res/sound/sfx/Cockatrice.wav  -- 1
Res/sound/sfx/Construct.wav  -- 1
Res/sound/sfx/Creature.wav  -- 1
Res/sound/sfx/Crocodile.wav  -- 1
Res/sound/sfx/Cyclops.wav  -- 1
Res/sound/sfx/Dauthi.wav  -- 1
Res/sound/sfx/Demon.wav  -- 1
Res/sound/sfx/Dragon.wav  -- 1
Res/sound/sfx/Drake.wav  -- 1
Res/sound/sfx/Druid.wav  -- 1
Res/sound/sfx/Dryad.wav  -- 1
Res/sound/sfx/Dwarf.wav  -- 1
Res/sound/sfx/Efreet.wav  -- 1
Res/sound/sfx/Elemental.wav  -- 1
Res/sound/sfx/Elephant.wav  -- 1
Res/sound/sfx/Elf.wav  -- 1
Res/sound/sfx/Elk.wav  -- 1
Res/sound/sfx/Enchantment.wav  -- 1
Res/sound/sfx/Equipment.wav  -- 1
Res/sound/sfx/Faerie.wav  -- 1
Res/sound/sfx/Forest.wav  -- 1
Res/sound/sfx/Frog.wav  -- 1
Res/sound/sfx/Fungus.wav  -- 1
Res/sound/sfx/Giant.wav  -- 1
Res/sound/sfx/Gnome.wav  -- 1
Res/sound/sfx/Goblin.wav  -- 1
Res/sound/sfx/Golem.wav  -- 1
Res/sound/sfx/Horror.wav  -- 1
Res/sound/sfx/Horse.wav  -- 1
Res/sound/sfx/Human.wav  -- 1
Res/sound/sfx/Hydra.wav  -- 1
Res/sound/sfx/Illusion.wav  -- 1
Res/sound/sfx/Imp.wav  -- 1
Res/sound/sfx/Insect.wav  -- 1
Res/sound/sfx/Instant.wav  -- 1
Res/sound/sfx/Island.wav  -- 1
Res/sound/sfx/Juggernaut.wav  -- 1
Res/sound/sfx/Kithkin.wav  -- 1
Res/sound/sfx/Knight.wav  -- 1
Res/sound/sfx/Kobold.wav  -- 1
Res/sound/sfx/Kor.wav  -- 1
Res/sound/sfx/Kraken.wav  -- 1
Res/sound/sfx/Lair.wav  -- 1
Res/sound/sfx/Land.wav  -- 1
Res/sound/sfx/Leech.wav  -- 1
Res/sound/sfx/Legendary.wav  -- 1
Res/sound/sfx/Leviathan.wav  -- 1
Res/sound/sfx/Lhurgoyf.wav  -- 1
Res/sound/sfx/Lizard.wav  -- 1
Res/sound/sfx/Masticore.wav  -- 1
Res/sound/sfx/Mercenary.wav  -- 1
Res/sound/sfx/Merfolk.wav  -- 1
Res/sound/sfx/Metathran.wav  -- 1
Res/sound/sfx/Minion.wav  -- 1
Res/sound/sfx/Minotaur.wav  -- 1
Res/sound/sfx/Monk.wav  -- 1
Res/sound/sfx/Mountain.wav  -- 1
Res/sound/sfx/Mutant.wav  -- 1
Res/sound/sfx/Myr.wav  -- 1
Res/sound/sfx/Nightmare.wav  -- 1
Res/sound/sfx/Nothing.wav  -- 1
Res/sound/sfx/Ogre.wav  -- 1
Res/sound/sfx/Ooze.wav  -- 1
Res/sound/sfx/Orc.wav  -- 1
Res/sound/sfx/Orgg.wav  -- 1
Res/sound/sfx/Ouphe.wav  -- 1
Res/sound/sfx/Pirate.wav  -- 1
Res/sound/sfx/Plains.wav  -- 1
Res/sound/sfx/Plant.wav  -- 1
Res/sound/sfx/Rat.wav  -- 1
Res/sound/sfx/Rebel.wav  -- 1
Res/sound/sfx/Rhino.wav  -- 1
Res/sound/sfx/Rogue.wav  -- 1
Res/sound/sfx/Samurai.wav  -- 1
Res/sound/sfx/Saproling.wav  -- 1
Res/sound/sfx/Scarecrow.wav  -- 1
Res/sound/sfx/Scout.wav  -- 1
Res/sound/sfx/Serpent.wav  -- 1
Res/sound/sfx/Shade.wav  -- 1
Res/sound/sfx/Shaman.wav  -- 1
Res/sound/sfx/Shapeshifter.wav  -- 1
Res/sound/sfx/Siren.wav  -- 1
Res/sound/sfx/Skeleton.wav  -- 1
Res/sound/sfx/Slith.wav  -- 1
Res/sound/sfx/Sliver.wav  -- 1
Res/sound/sfx/Snake.wav  -- 1
Res/sound/sfx/Snow.wav  -- 1
Res/sound/sfx/Soldier.wav  -- 1
Res/sound/sfx/Sorcery.wav  -- 1
Res/sound/sfx/Specter.wav  -- 1
Res/sound/sfx/Sphinx.wav  -- 1
Res/sound/sfx/Spider.wav  -- 1
Res/sound/sfx/Spirit.wav  -- 1
Res/sound/sfx/Swamp.wav  -- 1
Res/sound/sfx/Thopter.wav  -- 1
Res/sound/sfx/Treefolk.wav  -- 1
Res/sound/sfx/Troll.wav  -- 1
Res/sound/sfx/Vampire.wav  -- 1
Res/sound/sfx/Vedalken.wav  -- 1
Res/sound/sfx/Viashino.wav  -- 1
Res/sound/sfx/Wall.wav  -- 1
Res/sound/sfx/Warrior.wav  -- 1
Res/sound/sfx/Wizard.wav  -- 1
Res/sound/sfx/Wolf.wav  -- 1
Res/sound/sfx/Wraith.wav  -- 1
Res/sound/sfx/Wurm.wav  -- 1
Res/sound/sfx/Zombie.wav  -- 1
Res/sound/sfx/affinitygreencreatures.wav  -- 1
Res/sound/sfx/defender.wav  -- 1
Res/sound/sfx/fear.wav  -- 1
Res/sound/sfx/first strike.wav  -- 1
Res/sound/sfx/flash.wav  -- 1
Res/sound/sfx/flying.wav  -- 1
Res/sound/sfx/forestwalk.wav  -- 1
Res/sound/sfx/graveyard.wav  -- 1
Res/sound/sfx/haste.wav  -- 1
Res/sound/sfx/lifelink.wav  -- 1
Res/sound/sfx/mana.wav  -- 1
Res/sound/sfx/mustattack.wav  -- 1
Res/sound/sfx/nofizzle.wav  -- 1
Res/sound/sfx/persist.wav  -- 1
Res/sound/sfx/protection from black.wav  -- 1
Res/sound/sfx/protection from blue.wav  -- 1
Res/sound/sfx/protection from white.wav  -- 1
Res/sound/sfx/reach.wav  -- 1
Res/sound/sfx/reachshadow.wav  -- 1
Res/sound/sfx/shadow.wav  -- 1
Res/sound/sfx/storm.wav  -- 1
Res/sound/sfx/swampwalk.wav  -- 1
Res/sound/sfx/trample.wav  -- 1
Res/sound/sfx/vigor.wav  -- 1
Res/sound/sfx/wither.wav  -- 1
Res/splash.jpg  -- 1
Res/storm.wav  -- 1
Res/style.txt  -- 1
Res/swampwalk.wav  -- 1
Res/test/_tests.txt  -- 1
Res/testsuite.txt  -- 1
Res/themes/White Shrine/BattleIcon.png  -- 1
Res/themes/White Shrine/DefenderIcon.png  -- 1
Res/themes/White Shrine/Ok.png  -- 521
Res/themes/White Shrine/artifact_thumb.jpg  -- 34
Res/themes/White Shrine/back.jpg  -- 1
Res/themes/White Shrine/back_thumb.jpg  -- 1
Res/themes/White Shrine/backdrop.jpg  -- 1
Res/themes/White Shrine/baka.jpg  -- 521
Res/themes/White Shrine/black_thumb.jpg  -- 1
Res/themes/White Shrine/button_shoulder.png  -- 2
Res/themes/White Shrine/f3.png  -- 1
Res/themes/White Shrine/gold.png  -- 1
Res/themes/White Shrine/gold_thumb.jpg  -- 1
Res/themes/White Shrine/goldglow.png  -- 1
Res/themes/White Shrine/green.jpg  -- 1
Res/themes/White Shrine/green_thumb.jpg  -- 5
Res/themes/White Shrine/handback.png  -- 1
Res/themes/White Shrine/magic.png  -- 1
Res/themes/White Shrine/mana.psi  -- 1
Res/themes/White Shrine/manablack.psi  -- 1
Res/themes/White Shrine/manablue.psi  -- 1
Res/themes/White Shrine/managreen.psi  -- 1
Res/themes/White Shrine/manared.psi  -- 1
Res/themes/White Shrine/manawhite.psi  -- 1
Res/themes/White Shrine/menuicons.png  -- 1
Res/themes/White Shrine/menuside.png  -- 1
Res/themes/White Shrine/menutitle.png  -- 2
Res/themes/White Shrine/particle1.psi  -- 1
Res/themes/White Shrine/particle2.psi  -- 1
Res/themes/White Shrine/particle3.psi  -- 1
Res/themes/White Shrine/particle4.psi  -- 1
Res/themes/White Shrine/particle5.psi  -- 1
Res/themes/White Shrine/particles.png  -- 1
Res/themes/White Shrine/phasebar.png  -- 1
Res/themes/White Shrine/shadow.png  -- 1
Res/themes/White Shrine/simon.png  -- 1
Res/themes/White Shrine/smallface.png  -- 1
Res/themes/White Shrine/sound/Track0.mp3  -- 2
Res/themes/White Shrine/sound/Track1.mp3  -- 1
Res/themes/White Shrine/sound/none  -- 1
Res/themes/White Shrine/sound/sfx/Advisor.wav  -- 1
Res/themes/White Shrine/sound/sfx/Ally.wav  -- 1
Res/themes/White Shrine/sound/sfx/Angel.wav  -- 1
Res/themes/White Shrine/sound/sfx/Ape.wav  -- 1
Res/themes/White Shrine/sound/sfx/Archer.wav  -- 1
Res/themes/White Shrine/sound/sfx/Artifact.wav  -- 1
Res/themes/White Shrine/sound/sfx/Assassin.wav  -- 1
Res/themes/White Shrine/sound/sfx/Atog.wav  -- 1
Res/themes/White Shrine/sound/sfx/Aura.wav  -- 1
Res/themes/White Shrine/sound/sfx/Barbarian.wav  -- 1
Res/themes/White Shrine/sound/sfx/Basic.wav  -- 1
Res/themes/White Shrine/sound/sfx/Bat.wav  -- 1
Res/themes/White Shrine/sound/sfx/Bear.wav  -- 1
Res/themes/White Shrine/sound/sfx/Beast.wav  -- 1
Res/themes/White Shrine/sound/sfx/Berserker.wav  -- 1
Res/themes/White Shrine/sound/sfx/Bird.wav  -- 1
Res/themes/White Shrine/sound/sfx/Cat.wav  -- 1
Res/themes/White Shrine/sound/sfx/Centaur.wav  -- 1
Res/themes/White Shrine/sound/sfx/Cleric.wav  -- 1
Res/themes/White Shrine/sound/sfx/Cockatrice.wav  -- 1
Res/themes/White Shrine/sound/sfx/Construct.wav  -- 1
Res/themes/White Shrine/sound/sfx/Creature.wav  -- 1
Res/themes/White Shrine/sound/sfx/Crocodile.wav  -- 1
Res/themes/White Shrine/sound/sfx/Cyclops.wav  -- 1
Res/themes/White Shrine/sound/sfx/Dauthi.wav  -- 1
Res/themes/White Shrine/sound/sfx/Demon.wav  -- 1
Res/themes/White Shrine/sound/sfx/Dragon.wav  -- 1
Res/themes/White Shrine/sound/sfx/Drake.wav  -- 1
Res/themes/White Shrine/sound/sfx/Druid.wav  -- 1
Res/themes/White Shrine/sound/sfx/Dryad.wav  -- 1
Res/themes/White Shrine/sound/sfx/Dwarf.wav  -- 1
Res/themes/White Shrine/sound/sfx/Efreet.wav  -- 1
Res/themes/White Shrine/sound/sfx/Elemental.wav  -- 1
Res/themes/White Shrine/sound/sfx/Elephant.wav  -- 1
Res/themes/White Shrine/sound/sfx/Elf.wav  -- 1
Res/themes/White Shrine/sound/sfx/Elk.wav  -- 1
Res/themes/White Shrine/sound/sfx/Enchantment.wav  -- 1
Res/themes/White Shrine/sound/sfx/Equipment.wav  -- 1
Res/themes/White Shrine/sound/sfx/Faerie.wav  -- 1
Res/themes/White Shrine/sound/sfx/Forest.wav  -- 1
Res/themes/White Shrine/sound/sfx/Frog.wav  -- 1
Res/themes/White Shrine/sound/sfx/Fungus.wav  -- 1
Res/themes/White Shrine/sound/sfx/Giant.wav  -- 1
Res/themes/White Shrine/sound/sfx/Gnome.wav  -- 1
Res/themes/White Shrine/sound/sfx/Goblin.wav  -- 1
Res/themes/White Shrine/sound/sfx/Golem.wav  -- 1
Res/themes/White Shrine/sound/sfx/Horror.wav  -- 1
Res/themes/White Shrine/sound/sfx/Horse.wav  -- 1
Res/themes/White Shrine/sound/sfx/Human.wav  -- 1
Res/themes/White Shrine/sound/sfx/Hydra.wav  -- 1
Res/themes/White Shrine/sound/sfx/Illusion.wav  -- 1
Res/themes/White Shrine/sound/sfx/Imp.wav  -- 1
Res/themes/White Shrine/sound/sfx/Insect.wav  -- 1
Res/themes/White Shrine/sound/sfx/Instant.wav  -- 1
Res/themes/White Shrine/sound/sfx/Island.wav  -- 1
Res/themes/White Shrine/sound/sfx/Juggernaut.wav  -- 1
Res/themes/White Shrine/sound/sfx/Kithkin.wav  -- 1
Res/themes/White Shrine/sound/sfx/Knight.wav  -- 1
Res/themes/White Shrine/sound/sfx/Kobold.wav  -- 1
Res/themes/White Shrine/sound/sfx/Kor.wav  -- 1
Res/themes/White Shrine/sound/sfx/Kraken.wav  -- 1
Res/themes/White Shrine/sound/sfx/Lair.wav  -- 1
Res/themes/White Shrine/sound/sfx/Land.wav  -- 1
Res/themes/White Shrine/sound/sfx/Leech.wav  -- 1
Res/themes/White Shrine/sound/sfx/Legendary.wav  -- 1
Res/themes/White Shrine/sound/sfx/Leviathan.wav  -- 1
Res/themes/White Shrine/sound/sfx/Lhurgoyf.wav  -- 1
Res/themes/White Shrine/sound/sfx/Lizard.wav  -- 1
Res/themes/White Shrine/sound/sfx/Masticore.wav  -- 1
Res/themes/White Shrine/sound/sfx/Mercenary.wav  -- 1
Res/themes/White Shrine/sound/sfx/Merfolk.wav  -- 1
Res/themes/White Shrine/sound/sfx/Metathran.wav  -- 1
Res/themes/White Shrine/sound/sfx/Minion.wav  -- 1
Res/themes/White Shrine/sound/sfx/Minotaur.wav  -- 1
Res/themes/White Shrine/sound/sfx/Monk.wav  -- 1
Res/themes/White Shrine/sound/sfx/Mountain.wav  -- 1
Res/themes/White Shrine/sound/sfx/Mutant.wav  -- 1
Res/themes/White Shrine/sound/sfx/Myr.wav  -- 1
Res/themes/White Shrine/sound/sfx/Nightmare.wav  -- 1
Res/themes/White Shrine/sound/sfx/Nothing.wav  -- 1
Res/themes/White Shrine/sound/sfx/Ogre.wav  -- 1
Res/themes/White Shrine/sound/sfx/Ooze.wav  -- 1
Res/themes/White Shrine/sound/sfx/Orc.wav  -- 1
Res/themes/White Shrine/sound/sfx/Orgg.wav  -- 1
Res/themes/White Shrine/sound/sfx/Ouphe.wav  -- 1
Res/themes/White Shrine/sound/sfx/Pirate.wav  -- 1
Res/themes/White Shrine/sound/sfx/Plains.wav  -- 1
Res/themes/White Shrine/sound/sfx/Plant.wav  -- 1
Res/themes/White Shrine/sound/sfx/Rat.wav  -- 1
Res/themes/White Shrine/sound/sfx/Rebel.wav  -- 1
Res/themes/White Shrine/sound/sfx/Rhino.wav  -- 1
Res/themes/White Shrine/sound/sfx/Rogue.wav  -- 1
Res/themes/White Shrine/sound/sfx/Samurai.wav  -- 1
Res/themes/White Shrine/sound/sfx/Saproling.wav  -- 1
Res/themes/White Shrine/sound/sfx/Scarecrow.wav  -- 1
Res/themes/White Shrine/sound/sfx/Scout.wav  -- 1
Res/themes/White Shrine/sound/sfx/Serpent.wav  -- 1
Res/themes/White Shrine/sound/sfx/Shade.wav  -- 1
Res/themes/White Shrine/sound/sfx/Shaman.wav  -- 1
Res/themes/White Shrine/sound/sfx/Shapeshifter.wav  -- 1
Res/themes/White Shrine/sound/sfx/Siren.wav  -- 1
Res/themes/White Shrine/sound/sfx/Skeleton.wav  -- 1
Res/themes/White Shrine/sound/sfx/Slith.wav  -- 1
Res/themes/White Shrine/sound/sfx/Sliver.wav  -- 1
Res/themes/White Shrine/sound/sfx/Snake.wav  -- 1
Res/themes/White Shrine/sound/sfx/Snow.wav  -- 1
Res/themes/White Shrine/sound/sfx/Soldier.wav  -- 1
Res/themes/White Shrine/sound/sfx/Sorcery.wav  -- 1
Res/themes/White Shrine/sound/sfx/Specter.wav  -- 1
Res/themes/White Shrine/sound/sfx/Sphinx.wav  -- 1
Res/themes/White Shrine/sound/sfx/Spider.wav  -- 1
Res/themes/White Shrine/sound/sfx/Spirit.wav  -- 1
Res/themes/White Shrine/sound/sfx/Swamp.wav  -- 1
Res/themes/White Shrine/sound/sfx/Thopter.wav  -- 1
Res/themes/White Shrine/sound/sfx/Treefolk.wav  -- 1
Res/themes/White Shrine/sound/sfx/Troll.wav  -- 1
Res/themes/White Shrine/sound/sfx/Vampire.wav  -- 1
Res/themes/White Shrine/sound/sfx/Vedalken.wav  -- 1
Res/themes/White Shrine/sound/sfx/Viashino.wav  -- 1
Res/themes/White Shrine/sound/sfx/Wall.wav  -- 1
Res/themes/White Shrine/sound/sfx/Warrior.wav  -- 1
Res/themes/White Shrine/sound/sfx/Wizard.wav  -- 1
Res/themes/White Shrine/sound/sfx/Wolf.wav  -- 1
Res/themes/White Shrine/sound/sfx/Wraith.wav  -- 1
Res/themes/White Shrine/sound/sfx/Wurm.wav  -- 1
Res/themes/White Shrine/sound/sfx/Zombie.wav  -- 1
Res/themes/White Shrine/sound/sfx/affinitygreencreatures.wav  -- 1
Res/themes/White Shrine/sound/sfx/defender.wav  -- 1
Res/themes/White Shrine/sound/sfx/fear.wav  -- 1
Res/themes/White Shrine/sound/sfx/first strike.wav  -- 1
Res/themes/White Shrine/sound/sfx/flash.wav  -- 1
Res/themes/White Shrine/sound/sfx/flying.wav  -- 1
Res/themes/White Shrine/sound/sfx/forestwalk.wav  -- 1
Res/themes/White Shrine/sound/sfx/graveyard.wav  -- 1
Res/themes/White Shrine/sound/sfx/haste.wav  -- 1
Res/themes/White Shrine/sound/sfx/lifelink.wav  -- 1
Res/themes/White Shrine/sound/sfx/mana.wav  -- 1
Res/themes/White Shrine/sound/sfx/mustattack.wav  -- 1
Res/themes/White Shrine/sound/sfx/nofizzle.wav  -- 1
Res/themes/White Shrine/sound/sfx/persist.wav  -- 1
Res/themes/White Shrine/sound/sfx/protection from black.wav  -- 1
Res/themes/White Shrine/sound/sfx/protection from blue.wav  -- 1
Res/themes/White Shrine/sound/sfx/protection from white.wav  -- 1
Res/themes/White Shrine/sound/sfx/reach.wav  -- 1
Res/themes/White Shrine/sound/sfx/reachshadow.wav  -- 1
Res/themes/White Shrine/sound/sfx/shadow.wav  -- 1
Res/themes/White Shrine/sound/sfx/storm.wav  -- 1
Res/themes/White Shrine/sound/sfx/swampwalk.wav  -- 1
Res/themes/White Shrine/sound/sfx/trample.wav  -- 1
Res/themes/White Shrine/sound/sfx/vigor.wav  -- 1
Res/themes/White Shrine/sound/sfx/wither.wav  -- 1
Res/themes/White Shrine/spade_ul.png  -- 1
Res/themes/White Shrine/spade_ur.png  -- 1
Res/themes/White Shrine/splash.jpg  -- 1
Res/themes/White Shrine/stars.psi  -- 1
Res/themes/White Shrine/style.txt  -- 1
Res/themes/White Shrine/wallpapers/final_saga2.jpg  -- 1
Res/themes/White Shrine/white_thumb.jpg  -- 1
Res/themes/White Shrine/wood.png  -- 1
Res/thumbnails/  -- 1
Res/thumbnails/.jpg  -- 1
Res/thumbnails/194078.jpg  -- 1
Res/thumbnails/208249.jpg  -- 1
Res/thumbnails/209000.jpg  -- 1
Res/thumbnails/22222220.jpg  -- 1
Res/thumbnails/42187t.jpg  -- 1
Res/thumbnails/4514111t.jpg  -- 1
Res/thumbnails/4838511t.jpg  -- 1
Res/thumbnails/4838512t.jpg  -- 1
Res/thumbnails/51613t.jpg  -- 1
Res/thumbnails/89069t.jpg  -- 1
Res/thumbnails/Angel Token.jpg  -- 1
Res/thumbnails/Auriok Sunchaser.jpg  -- 1
Res/thumbnails/Bear.jpg  -- 1
Res/thumbnails/Beast Token.jpg  -- 1
Res/thumbnails/Darksteel Myr.jpg  -- 1
Res/thumbnails/Dragon.jpg  -- 1
Res/thumbnails/Insect Token.jpg  -- 1
Res/thumbnails/Insect.jpg  -- 1
Res/thumbnails/Memnite.jpg  -- 1
Res/thumbnails/Saproling.jpg  -- 1
Res/trample.wav  -- 1
Res/vigor.wav  -- 1
Res/wagic_res/graphics/simon.dat  -- 1
Res/wither.wav  -- 1
Rhino.wav  -- 1
Rogue.wav  -- 1
Samurai.wav  -- 1
Saproling.jpg  -- 1
Saproling.wav  -- 1
Scarecrow.wav  -- 1
Scout.wav  -- 1
Serpent.wav  -- 1
Shade.wav  -- 1
Shaman.wav  -- 1
Shapeshifter.wav  -- 1
Siren.wav  -- 1
Skeleton.wav  -- 1
Slith.wav  -- 1
Sliver.wav  -- 1
Snake.wav  -- 1
Snow.wav  -- 1
Soldier.wav  -- 1
Specter.wav  -- 1
Sphinx.wav  -- 1
Spider.wav  -- 1
Spirit.wav  -- 1
Swamp.wav  -- 1
Thopter.wav  -- 1
Treefolk.wav  -- 1
Vedalken.wav  -- 1
Viashino.wav  -- 1
Wall.wav  -- 1
Warrior.wav  -- 1
Wizard.wav  -- 1
Wolf.wav  -- 1
Wraith.wav  -- 1
affinitygreencreatures.wav  -- 1
defender.wav  -- 1
fear.wav  -- 1
first strike.wav  -- 1
flash.wav  -- 1
forestwalk.wav  -- 1
graphics/splash.jpg  -- 1
haste.wav  -- 1
lifelink.wav  -- 1
ms0:/PSP/wagic_res/graphics/simon.dat  -- 1
ms0:/wagic_res/graphics/simon.dat  -- 1
mustattack.wav  -- 1
nofizzle.wav  -- 1
persist.wav  -- 1
protection from black.wav  -- 1
protection from blue.wav  -- 1
protection from white.wav  -- 1
reach.wav  -- 1
reachshadow.wav  -- 1
shadow.wav  -- 1
storm.wav  -- 1
swampwalk.wav  -- 1
testsuite.txt  -- 1
thumbnails/  -- 1
thumbnails/.jpg  -- 1
thumbnails/194078.jpg  -- 1
thumbnails/208249.jpg  -- 1
thumbnails/209000.jpg  -- 1
thumbnails/22222220.jpg  -- 1
thumbnails/42187t.jpg  -- 1
thumbnails/4514111t.jpg  -- 1
thumbnails/4838511t.jpg  -- 1
thumbnails/4838512t.jpg  -- 1
thumbnails/51613t.jpg  -- 1
thumbnails/89069t.jpg  -- 1
thumbnails/Angel Token.jpg  -- 1
thumbnails/Auriok Sunchaser.jpg  -- 1
thumbnails/Bear.jpg  -- 1
thumbnails/Beast Token.jpg  -- 1
thumbnails/Darksteel Myr.jpg  -- 1
thumbnails/Dragon.jpg  -- 1
thumbnails/Insect Token.jpg  -- 1
thumbnails/Insect.jpg  -- 1
thumbnails/Memnite.jpg  -- 1
thumbnails/Saproling.jpg  -- 1
trample.wav  -- 1
vigor.wav  -- 1
wagic_res/graphics/simon.dat  -- 1
wither.wav  -- 1
End File Usage Statistics
-------------------
This commit is contained in:
wrenczes@gmail.com
2011-01-11 10:11:15 +00:00
parent ccd972ada3
commit 2063e27681
20 changed files with 100 additions and 50 deletions

View File

@@ -30,20 +30,59 @@
#include <algorithm>
#include <stdlib.h>
// enable this define to collect statistics on how many times an ifstream is created for a given file.
//#define TRACK_FILE_USAGE_STATS
namespace wagic
{
#ifdef TRACK_FILE_USAGE_STATS
class ifstream : public std::ifstream
{
public:
explicit ifstream(const char *inFilename, ios_base::openmode inMode = ios_base::in) :
std::ifstream(inFilename, inMode)
{
sFileMap[std::string(inFilename)] += 1;
}
static void Dump()
{
DebugTrace("-------------------");
DebugTrace("File Usage Statistics" << std::endl);
std::map<std::string, int>::const_iterator iter = sFileMap.begin();
for (; iter != sFileMap.end(); ++iter)
{
DebugTrace(iter->first << " -- " << iter->second);
}
DebugTrace("End File Usage Statistics");
DebugTrace("-------------------");
}
private:
static std::map<std::string, int> sFileMap;
};
#else
typedef std::ifstream ifstream;
#endif
} //namespace wagic
using std::string;
//string manipulation methods
string& trim(string &str);
string& ltrim(string &str);
string& rtrim(string &str);
string& trim(string& str);
string& ltrim(string& str);
string& rtrim(string& str);
std::string join(vector<string> &v, string delim = " ");
std::string join(vector<string>& v, string delim = " ");
std::vector<std::string> &split(const std::string &s, char delim, std::vector<std::string> &elems);
std::vector<std::string> split(const std::string &s, char delim); //splits a string with "delim" and returns a vector of strings.
std::string wordWrap(std::string s, float width, int fontId);
std::vector<std::string>& split(const std::string& s, char delim, std::vector<std::string>& elems);
std::vector<std::string> split(const std::string& s, char delim); //splits a string with "delim" and returns a vector of strings.
std::string wordWrap(const std::string& s, float width, int fontId);
int loadRandValues(string s);
int filesize(const char * filename);

View File

@@ -1117,7 +1117,7 @@ AIPlayer * AIPlayerFactory::createAIPlayer(MTGAllCards * collection, Player * op
found = 0;
char buffer[512];
sprintf(buffer, JGE_GET_RES("ai/baka/deck%i.txt").c_str(), nbdecks + 1);
std::ifstream file(buffer);
wagic::ifstream file(buffer);
if (file)
{
found = 1;

View File

@@ -143,7 +143,7 @@ AIStat * AIStats::find(MTGCard * source)
void AIStats::load(char * filename)
{
std::ifstream file(filename);
wagic::ifstream file(filename);
std::string s;
if (file)

View File

@@ -448,7 +448,7 @@ int Credits::IsMoreAIDecksUnlocked(DeckStats * stats) {
found = 0;
char buffer[512];
sprintf(buffer, JGE_GET_RES("ai/baka/deck%i.txt").c_str(), nbdecks + 1);
std::ifstream file(buffer);
wagic::ifstream file(buffer);
if (file)
{
found = 1;

View File

@@ -111,7 +111,7 @@ void DeckStats::load(Player * player)
void DeckStats::load(const char * filename)
{
cleanStats();
std::ifstream file(filename);
wagic::ifstream file(filename);
std::string s;
if (file)

View File

@@ -90,7 +90,7 @@ void GameApp::Create()
LOG("starting Game");
//Find the Res folder
std::ifstream mfile("Res.txt");
wagic::ifstream mfile("Res.txt");
string resPath;
if (mfile)
{
@@ -122,14 +122,14 @@ void GameApp::Create()
LOG("Checking for music files");
//Test for Music files presence
string filepath = JGE_GET_RES(WResourceManager::Instance()->musicFile("Track0.mp3"));
std::ifstream file(filepath.c_str());
wagic::ifstream file(filepath.c_str());
if (file)
file.close();
else
HasMusic = 0;
filepath = JGE_GET_RES(WResourceManager::Instance()->musicFile("Track1.mp3"));
std::ifstream file2(filepath.c_str());
wagic::ifstream file2(filepath.c_str());
if (file2)
file2.close();
else
@@ -281,6 +281,10 @@ void GameApp::Destroy()
options.theGame = NULL;
LOG("==Destroying GameApp Successful==");
#ifdef TRACK_FILE_USAGE_STATS
wagic::ifstream::Dump();
#endif
}
void GameApp::Update()

View File

@@ -316,7 +316,7 @@ GameOptions::GameOptions(string filename)
int GameOptions::load()
{
std::ifstream file(mFilename.c_str());
wagic::ifstream file(mFilename.c_str());
std::string s;
if (file)

View File

@@ -266,7 +266,7 @@ void GameStateDuel::End()
bool GameStateDuel::MusicExist(string FileName)
{
string filepath = JGE_GET_RES(WResourceManager::Instance()->musicFile(FileName));
std::ifstream file(filepath.c_str());
wagic::ifstream file(filepath.c_str());
if (file)
{
file.close();

View File

@@ -286,7 +286,7 @@ int GameStateMenu::nextDirectory(const char * root, const char * file)
while (!found && (mDit = readdir(mDip)))
{
sprintf(mCurrentSetFileName, "%s/%s/%s", root, mDit->d_name, file);
std::ifstream file(mCurrentSetFileName);
wagic::ifstream file(mCurrentSetFileName);
if (file)
{
sprintf(mCurrentSetName, "%s", mDit->d_name);
@@ -313,7 +313,7 @@ string GameStateMenu::loadRandomWallpaper()
return wallpaper;
vector<string> wallpapers;
std::ifstream file(JGE_GET_RES("graphics/wallpapers.txt").c_str());
wagic::ifstream file(JGE_GET_RES("graphics/wallpapers.txt").c_str());
if (!file)
return wallpaper;
@@ -371,7 +371,7 @@ void GameStateMenu::loadLangMenu()
{
string filename = JGE_GET_RES("lang/");
filename += mDit->d_name;
std::ifstream file(filename.c_str());
wagic::ifstream file(filename.c_str());
string s;
string lang;
if (file)
@@ -407,7 +407,7 @@ void GameStateMenu::listPrimitives()
{
string filename = JGE_GET_RES("sets/primitives/");
filename += mDit->d_name;
std::ifstream file(filename.c_str());
wagic::ifstream file(filename.c_str());
if (!file)
continue;
file.close();
@@ -500,7 +500,7 @@ void GameStateMenu::Update(float dt)
mSplash = NULL;
//check for deleted collection / first-timer
std::ifstream file(options.profileFile(PLAYER_COLLECTION).c_str());
wagic::ifstream file(options.profileFile(PLAYER_COLLECTION).c_str());
if (file)
{
file.close();

View File

@@ -31,7 +31,7 @@ void GameStateStory::loadStoriesMenu(const char * root)
{
char buffer[4096];
sprintf(buffer, "%s%s/story.xml", root, mDit->d_name);
std::ifstream file(buffer);
wagic::ifstream file(buffer);
if (file)
{
string fname = mDit->d_name;

View File

@@ -301,7 +301,7 @@ int MTGAllCards::load(const char * config_file, const char * set_name, int autol
const int set_id = set_name ? setlist.Add(set_name) : MTGSets::INTERNAL_SET;
MTGSetInfo *si = setlist.getInfo(set_id);
std::ifstream setFile(config_file, ios::in | ios::ate);
wagic::ifstream setFile(config_file, ios::in | ios::ate);
if (!setFile) return total_cards;
streampos fileSize = setFile.tellg();
@@ -620,7 +620,7 @@ MTGDeck::MTGDeck(const char * config_file, MTGAllCards * _allcards, int meta_onl
size_t slash = filename.find_last_of("/");
size_t dot = filename.find(".");
meta_name = filename.substr(slash + 1, dot - slash - 1);
std::ifstream file(config_file);
wagic::ifstream file(config_file);
std::string s;
if (file)

View File

@@ -168,7 +168,7 @@ void OptionProfile::populate()
PlayerData * pdata = NEW PlayerData(app->collection);
int unlocked = 0, sets = setlist.size();
std::ifstream file(options.profileFile(PLAYER_SETTINGS).c_str());
wagic::ifstream file(options.profileFile(PLAYER_SETTINGS).c_str());
std::string s;
if (file)
{
@@ -333,7 +333,7 @@ void OptionLanguage::Reload()
{
string filename = JGE_GET_RES("lang/");
filename += mDit->d_name;
std::ifstream file(filename.c_str());
wagic::ifstream file(filename.c_str());
string s;
string lang;
if (file)
@@ -412,7 +412,7 @@ void OptionDirectory::Reload()
while ((mDit = readdir(mDip)))
{
sprintf(buf, "%s/%s/%s", root.c_str(), mDit->d_name, type.c_str());
std::ifstream file(buf);
wagic::ifstream file(buf);
if (!file)
continue;
file.close();
@@ -439,7 +439,7 @@ OptionDirectory::OptionDirectory(string root, int id, string displayValue, strin
while ((mDit = readdir(mDip)))
{
sprintf(buf, "%s/%s/%s", root.c_str(), mDit->d_name, type.c_str());
std::ifstream file(buf);
wagic::ifstream file(buf);
if (!file)
continue;
file.close();
@@ -498,7 +498,7 @@ void OptionTheme::Render()
sprintf(buf, "%s", JGE_GET_RES("graphics/themeinfo.txt").c_str());
else
sprintf(buf, "%s%s", JGE_GET_RES("themes/%s/themeinfo.txt").c_str(), selections[value].c_str());
std::ifstream file(buf);
wagic::ifstream file(buf);
if (file)
{
string temp;

View File

@@ -25,7 +25,7 @@ void PlayerData::init()
//CREDITS
credits = 3000; //Default value
std::ifstream file(options.profileFile(PLAYER_SAVEFILE).c_str());
wagic::ifstream file(options.profileFile(PLAYER_SAVEFILE).c_str());
std::string s;
if (file)
{

View File

@@ -8,7 +8,7 @@ PriceList::PriceList(const char * _filename, MTGAllCards * _collection) :
collection(_collection)
{
filename = _filename;
std::ifstream file(_filename);
wagic::ifstream file(_filename);
std::string cardid;
std::string price;
if (file)

View File

@@ -487,7 +487,7 @@ int Rules::load(string _filename)
{
sprintf(filename, JGE_GET_RES("rules/%s").c_str(), _filename.c_str());
}
std::ifstream file(filename);
wagic::ifstream file(filename);
std::string s;
int state = PARSE_UNDEFINED;

View File

@@ -352,7 +352,7 @@ int TaskList::load(string _fileName)
return -1;
}
std::ifstream file(fileName.c_str());
wagic::ifstream file(fileName.c_str());
std::string s;
if (file)

View File

@@ -509,7 +509,7 @@ TestSuite::TestSuite(const char * filename, MTGAllCards* _collection)
{
collection = _collection;
timerLimit = 0;
std::ifstream file(filename);
wagic::ifstream file(filename);
std::string s;
nbfiles = 0;
currentfile = 0;
@@ -617,7 +617,7 @@ int TestSuite::load(const char * _filename)
gameType = GAME_TYPE_CLASSIC;
char filename[4096];
sprintf(filename, JGE_GET_RES("/test/%s").c_str(), _filename);
std::ifstream file(filename);
wagic::ifstream file(filename);
std::string s;
loadRandValues("");

View File

@@ -65,7 +65,7 @@ Translator::Translator()
void Translator::load(string filename, map<string, string> * dictionary)
{
std::ifstream file(filename.c_str());
wagic::ifstream file(filename.c_str());
if (file)
{
@@ -89,7 +89,7 @@ void Translator::load(string filename, map<string, string> * dictionary)
#if defined DEBUG_TRANSLATE
if (!checkMisses) return;
std::ifstream file2(JGE_GET_RES("lang/dontcare.txt").c_str());
wagic::ifstream file2(JGE_GET_RES("lang/dontcare.txt").c_str());
if(file2)
{
@@ -123,7 +123,7 @@ void Translator::initDecks()
string decks_dict = JGE_GET_RES("lang/") + lang + "_decks.txt";
// Load file
std::ifstream file(decks_dict.c_str());
wagic::ifstream file(decks_dict.c_str());
if (file)
{
string s;

View File

@@ -843,13 +843,13 @@ int WResourceManager::dirOK(const string& dirname)
int WResourceManager::fileOK(const string& filename, bool relative)
{
std::ifstream * fp = NULL;
wagic::ifstream * fp = NULL;
if (relative)
{
fp = NEW std::ifstream(JGE_GET_RES(filename).c_str());
fp = NEW wagic::ifstream(JGE_GET_RES(filename).c_str());
}
else
fp = NEW std::ifstream(filename.c_str());
fp = NEW wagic::ifstream(filename.c_str());
int result = 0;
if (fp)

View File

@@ -6,6 +6,13 @@
#include "WResourceManager.h"
#include "WFont.h"
namespace wagic
{
#ifdef TRACK_FILE_USAGE_STATS
std::map<std::string, int> ifstream::sFileMap;
#endif
}
using std::vector;
int randValuesCursor = -1;
@@ -70,14 +77,14 @@ int filesize(const char * filename)
int fileExists(const char * filename)
{
std::ifstream fichier(filename);
wagic::ifstream fichier(filename);
if (fichier)
{
fichier.close();
return 1;
}
std::ifstream fichier2(JGE_GET_RES(filename).c_str());
wagic::ifstream fichier2(JGE_GET_RES(filename).c_str());
if (fichier2)
{
fichier2.close();
@@ -190,26 +197,26 @@ u32 ramAvailable(void)
return size;
}
string& trim(string &str)
string& trim(string& str)
{
str = ltrim(str);
str = rtrim(str);
return str;
}
string& ltrim(string &str)
string& ltrim(string& str)
{
str.erase(0, str.find_first_not_of(" \t"));
return str;
}
string& rtrim(string &str)
string& rtrim(string& str)
{
str.resize(str.find_last_not_of(" \t") + 1);
return str;
}
std::vector<std::string> &split(const std::string &s, char delim, std::vector<std::string> &elems)
std::vector<std::string>& split(const std::string& s, char delim, std::vector<std::string>& elems)
{
std::stringstream ss(s);
std::string item;
@@ -220,7 +227,7 @@ std::vector<std::string> &split(const std::string &s, char delim, std::vector<st
return elems;
}
std::string join( vector<string> &v, string delim)
std::string join(vector<string>& v, string delim)
{
std::string retVal;
for ( vector<string>::iterator it = v.begin(); it != v.end(); ++it )
@@ -232,7 +239,7 @@ std::string join( vector<string> &v, string delim)
return retVal;
}
std::vector<std::string> split(const std::string &s, char delim)
std::vector<std::string> split(const std::string& s, char delim)
{
std::vector<std::string> elems;
return split(s, delim, elems);
@@ -241,7 +248,7 @@ std::vector<std::string> split(const std::string &s, char delim)
// This is a customized word wrap based on pixel width. It tries it's best
// to wrap strings using spaces as delimiters.
// Not sure how this translates into non-english fonts.
std::string wordWrap(std::string sentence, float width, int fontId)
std::string wordWrap(const std::string& sentence, float width, int fontId)
{
WFont * mFont = WResourceManager::Instance()->GetWFont(fontId);
float lineWidth = mFont->GetStringWidth( sentence.c_str() );