require 'nhtiles'
puts "Loading and calculating dependancies for each task..."
variants = Variants.new "data/variants"
tilesets = {}
tilesets[ :nethack_original ] =
Tileset.new( :nhtiles, "data/originals/tilesets/variants/nethack", "bmp",
variants[ :nethack ], 16, 16 )
tilesets[ :slashem_original ] =
Tileset.new( :gltile16, "data/originals/tilesets/variants/slashem", "png",
variants[ :slashem ], 16, 16 )
tilesets[ :slashem_itakura_original ] =
Tileset.new( :gltile32, "data/originals/tilesets/variants/slashem", "png",
variants[ :slashem ], 32, 32 )
tilesets[ :slashem_aoki_original ] =
Tileset.new( :gltile64, "data/originals/tilesets/variants/slashem", "png",
variants[ :slashem ], 48, 64 )
tilesets[ :lizard_nethack_original ] =
Tileset.new( :nhtiles, "data/originals/tilesets/variants/lizard", "bmp",
variants[ "nethack-lizard".to_sym ], 16, 16 )
tilesets[ :lizard_slashem_original ] =
Tileset.new( :gltile16, "data/originals/tilesets/variants/lizard", "png",
variants[ "slashem-lizard".to_sym ], 16, 16 )
tilesets[ :lizard_slashem_itakura_original ] =
Tileset.new( :gltile32, "data/originals/tilesets/variants/lizard", "png",
variants[ "slashem-lizard".to_sym ], 32, 32 )
tilesets[ :nethack_geoduck ] =
Tileset.new( :tiles20x10, "data/originals/tilesets", "bmp",
variants[ :nethack ], 10, 20 )
tilesets[ :slashem_geoduck ] =
Tileset.new( :slashem20x10, "data/originals/tilesets", "bmp",
variants[ :slashem ], 10, 20 )
tilesets[ :nethack_vulturesmap ] =
Tileset.new( :nh_tiles, "data/originals/tilesets/variants/vultures", "png",
variants[ :nethack ], 7, 14 )
tilesets[ :slashem_vulturesmap ] =
Tileset.new( :se_tiles, "data/originals/tilesets/variants/vultures", "png",
variants[ :slashem ], 7, 14 )
tilesets[ :nethack_lagged ] =
Tileset.new( :lagged_alpha, "data/originals/tilesets", "png",
variants[ :nethack ], 12, 20 )
tilesets[ :nethack_absurd ] =
Tileset.new( :absurd_nethack, "data/originals/tilesets", "png",
variants[ :nethack ], 128, 128 )
tilesets[ :slashem_absurd ] =
Tileset.new( :absurd_slashem, "data/originals/tilesets", "png",
variants[ :slashem ], 128, 128 )
tilegroups = {}
tilegroups[ :nethack_original ] =
TileGroup.new( :nethack_original, "output/tilegroups", "png", 16, 16 )
tilegroups[ :nethack_original ].add_source_tileset tilesets[ :nethack_original ]
tilegroups[ :nethack_original ].add_source_tileset tilesets[ :slashem_original ]
tilegroups[ :slashem_original ] =
TileGroup.new( :slashem_original, "output/tilegroups", "png", 16, 16 )
tilegroups[ :slashem_original ].add_source_tileset tilesets[ :slashem_original ]
tilegroups[ :slashem_original ].add_source_tileset tilesets[ :nethack_original ]
tilegroups[ :slashem_itakura_original ] =
TileGroup.new( :slashem_itakura_original, "output/tilegroups", "png", 32, 32 )
tilegroups[ :slashem_itakura_original ].add_source_tileset tilesets[ :slashem_itakura_original ]
tilegroups[ :slashem_itakura_original ].add_source_tileset tilesets[ :nethack_original ]
tilegroups[ :slashem_aoki_original ] =
TileGroup.new( :slashem_aoki_original, "output/tilegroups", "png", 48, 64 )
tilegroups[ :slashem_aoki_original ].add_source_tileset tilesets[ :slashem_aoki_original ]
tilegroups[ :slashem_aoki_original ].add_source_tileset tilesets[ :nethack_original ]
tilegroups[ :lizard_nethack_original ] =
TileGroup.new( :lizard_nethack_original, "output/tilegroups", "png", 16, 16 )
tilegroups[ :lizard_nethack_original ].add_source_tileset tilesets[ :lizard_nethack_original ]
tilegroups[ :lizard_nethack_original ].add_source_tileset tilesets[ :lizard_slashem_original ]
tilegroups[ :lizard_slashem_original ] =
TileGroup.new( :lizard_slashem_original, "output/tilegroups", "png", 16, 16 )
tilegroups[ :lizard_slashem_original ].add_source_tileset tilesets[ :lizard_slashem_original ]
tilegroups[ :lizard_slashem_original ].add_source_tileset tilesets[ :lizard_nethack_original ]
tilegroups[ :lizard_slashem_itakura_original ] =
TileGroup.new( :lizard_slashem_itakura_original, "output/tilegroups", "png", 32, 32 )
tilegroups[ :lizard_slashem_itakura_original ].add_source_tileset tilesets[ :lizard_slashem_itakura_original ]
tilegroups[ :lizard_slashem_itakura_original ].add_source_tileset tilesets[ :lizard_nethack_original ]
tilegroups[ :nethack_geoduck ] =
TileGroup.new( :nethack_geoduck, "output/tilegroups", "png", 10, 20 )
tilegroups[ :nethack_geoduck ].add_source_tileset tilesets[ :nethack_geoduck ]
tilegroups[ :nethack_geoduck ].add_source_tileset tilesets[ :slashem_geoduck ]
tilegroups[ :slashem_geoduck ] =
TileGroup.new( :slashem_geoduck, "output/tilegroups", "png", 10, 20 )
tilegroups[ :slashem_geoduck ].add_source_tileset tilesets[ :slashem_geoduck ]
tilegroups[ :slashem_geoduck ].add_source_tileset tilesets[ :nethack_geoduck ]
tilegroups[ :nethack_vulturesmap ] =
TileGroup.new( :nethack_vulturesmap, "output/tilegroups", "png", 7, 14 )
tilegroups[ :nethack_vulturesmap ].add_source_tileset tilesets[ :nethack_vulturesmap ]
tilegroups[ :nethack_vulturesmap ].add_source_tileset tilesets[ :slashem_vulturesmap ]
tilegroups[ :slashem_vulturesmap ] =
TileGroup.new( :slashem_vulturesmap, "output/tilegroups", "png", 7, 14 )
tilegroups[ :slashem_vulturesmap ].add_source_tileset tilesets[ :slashem_vulturesmap ]
tilegroups[ :slashem_vulturesmap ].add_source_tileset tilesets[ :nethack_vulturesmap ]
tilegroups[ :nethack_lagged ] =
TileGroup.new( :nethack_lagged, "output/tilegroups", "png", 12, 20 )
tilegroups[ :nethack_lagged ].add_source_tileset tilesets[ :nethack_lagged ]
tilegroups[ :nethack_lagged ].add_source_tileset tilesets[ :slashem_geoduck ]
tilegroups[ :nethack_absurd ] =
TileGroup.new( :nethack_absurd, "output/tilegroups", "png", 128, 128 )
tilegroups[ :nethack_absurd ].add_source_tileset tilesets[ :nethack_absurd ]
tilegroups[ :nethack_absurd ].add_source_tileset tilesets[ :slashem_absurd ]
tilegroups[ :slashem_absurd ] =
TileGroup.new( :slashem_absurd, "output/tilegroups", "png", 128, 128 )
tilegroups[ :slashem_absurd ].add_source_tileset tilesets[ :slashem_absurd ]
tilegroups[ :slashem_absurd ].add_source_tileset tilesets[ :nethack_absurd ]
tilegroups[ :nethack_vultures ] =
TileGroup.new( :nethack_vultures, "data/originals/tilegroups", "png", 270, 247 )
tilegroups[ :nethack_vultures ].add_source_tileset tilesets[ :nethack_original ]
tilegroups[ :slashem_vultures ] =
TileGroup.new( :slashem_vultures, "data/originals/tilegroups", "png", 270, 247 )
tilegroups[ :slashem_vultures ].add_source_tileset tilesets[ :slashem_original ]
tilesets[ :nethack_nethack_original ] =
Tileset.new( :original, "output/tilesets", "png",
variants[ :nethack ], 16, 16 )
tilesets[ :nethack_slashem_original ] =
Tileset.new( :slashem_original, "output/tilesets", "png",
variants[ :nethack ], 16, 16 )
tilesets[ :slashem_nethack_original ] =
Tileset.new( :nethack_original, "output/tilesets", "png",
variants[ :slashem ], 16, 16 )
tilesets[ :slashem_slashem_original ] =
Tileset.new( :original, "output/tilesets", "png",
variants[ :slashem ], 16, 16 )
tilesets[ :nethack_slashem_itakura_original ] =
Tileset.new( :slashem_itakura, "output/tilesets", "png",
variants[ :nethack ], 32, 32 )
tilesets[ :slashem_slashem_itakura_original ] =
Tileset.new( :itakura, "output/tilesets", "png",
variants[ :slashem ], 32, 32 )
tilesets[ :nethack_slashem_aoki_original ] =
Tileset.new( :slashem_aoki, "output/tilesets", "png",
variants[ :nethack ], 48, 64 )
tilesets[ :slashem_slashem_aoki_original ] =
Tileset.new( :aoki, "output/tilesets", "png",
variants[ :slashem ], 48, 64 )
tilesets[ :lizard_nethack_nethack_original ] =
Tileset.new( :original, "output/tilesets", "png",
variants[ "nethack-lizard".to_sym ], 16, 16 )
tilesets[ :lizard_nethack_slashem_original ] =
Tileset.new( :slashem_original, "output/tilesets", "png",
variants[ "nethack-lizard".to_sym ], 16, 16 )
tilesets[ :lizard_slashem_nethack_original ] =
Tileset.new( :nethack_original, "output/tilesets", "png",
variants[ "slashem-lizard".to_sym ], 16, 16 )
tilesets[ :lizard_slashem_slashem_original ] =
Tileset.new( :original, "output/tilesets", "png",
variants[ "slashem-lizard".to_sym ], 16, 16 )
tilesets[ :lizard_nethack_slashem_itakura_original ] =
Tileset.new( :slashem_itakura, "output/tilesets", "png",
variants[ "nethack-lizard".to_sym ], 32, 32 )
tilesets[ :lizard_slashem_slashem_itakura_original ] =
Tileset.new( :itakura, "output/tilesets", "png",
variants[ "slashem-lizard".to_sym ], 32, 32 )
tilesets[ :nethack_geoduck_original ] =
Tileset.new( :geoduck, "output/tilesets", "png",
variants[ :nethack ], 10, 20 )
tilesets[ :slashem_geoduck_original ] =
Tileset.new( :geoduck, "output/tilesets", "png",
variants[ :slashem ], 10, 20 )
tilesets[ :nethack_vulturesmap_original ] =
Tileset.new( :vulturesmap, "output/tilesets", "png",
variants[ :nethack ], 7, 14 )
tilesets[ :slashem_vulturesmap_original ] =
Tileset.new( :vulturesmap, "output/tilesets", "png",
variants[ :slashem ], 7, 14 )
tilesets[ :nethack_nethack_lagged_original ] =
Tileset.new( :lagged, "output/tilesets", "png",
variants[ :nethack ], 12, 20 )
tilesets[ :slashem_nethack_lagged_original ] =
Tileset.new( :nethack_lagged, "output/tilesets", "png",
variants[ :slashem ], 12, 20 )
tilesets[ :nethack_absurd_original ] =
Tileset.new( :absurd, "output/tilesets", "png",
variants[ :nethack ], 128, 128 )
tilesets[ :slashem_absurd_original ] =
Tileset.new( :absurd, "output/tilesets", "png",
variants[ :slashem ], 128, 128 )
tilesets[ :nethack_vultures ] =
Tileset.new( :vultures, "output/tilesets", "png",
variants[ :nethack ], 270, 247 )
tilesets[ :slashem_vultures ] =
Tileset.new( :vultures, "output/tilesets", "png",
variants[ :slashem ], 270, 247 )
tilesets[ :nethack_nethack_original ].add_source_tilegroup tilegroups[ :nethack_original ]
tilesets[ :nethack_slashem_original ].add_source_tilegroup tilegroups[ :slashem_original ]
tilesets[ :slashem_nethack_original ].add_source_tilegroup tilegroups[ :nethack_original ]
tilesets[ :slashem_slashem_original ].add_source_tilegroup tilegroups[ :slashem_original ]
tilesets[ :nethack_slashem_itakura_original ].add_source_tilegroup tilegroups[ :slashem_itakura_original ]
tilesets[ :slashem_slashem_itakura_original ].add_source_tilegroup tilegroups[ :slashem_itakura_original ]
tilesets[ :nethack_slashem_aoki_original ].add_source_tilegroup tilegroups[ :slashem_aoki_original ]
tilesets[ :slashem_slashem_aoki_original ].add_source_tilegroup tilegroups[ :slashem_aoki_original ]
tilesets[ :lizard_nethack_nethack_original ].add_source_tilegroup tilegroups[ :lizard_nethack_original ]
tilesets[ :lizard_nethack_slashem_original ].add_source_tilegroup tilegroups[ :lizard_slashem_original ]
tilesets[ :lizard_slashem_nethack_original ].add_source_tilegroup tilegroups[ :lizard_nethack_original ]
tilesets[ :lizard_slashem_slashem_original ].add_source_tilegroup tilegroups[ :lizard_slashem_original ]
tilesets[ :lizard_nethack_slashem_itakura_original ].add_source_tilegroup tilegroups[ :lizard_slashem_itakura_original ]
tilesets[ :lizard_slashem_slashem_itakura_original ].add_source_tilegroup tilegroups[ :lizard_slashem_itakura_original ]
tilesets[ :nethack_geoduck_original ].add_source_tilegroup tilegroups[ :nethack_geoduck ]
tilesets[ :slashem_geoduck_original ].add_source_tilegroup tilegroups[ :slashem_geoduck ]
tilesets[ :nethack_vulturesmap_original ].add_source_tilegroup tilegroups[ :nethack_vulturesmap ]
tilesets[ :slashem_vulturesmap_original ].add_source_tilegroup tilegroups[ :slashem_vulturesmap ]
tilesets[ :nethack_nethack_lagged_original ].add_source_tilegroup tilegroups[ :nethack_lagged ]
tilesets[ :slashem_nethack_lagged_original ].add_source_tilegroup tilegroups[ :nethack_lagged ]
tilesets[ :nethack_absurd_original ].add_source_tilegroup tilegroups[ :nethack_absurd ]
tilesets[ :slashem_absurd_original ].add_source_tilegroup tilegroups[ :slashem_absurd ]
tilesets[ :nethack_vultures ].add_source_tilegroup tilegroups[ :nethack_vultures ]
tilesets[ :slashem_vultures ].add_source_tilegroup tilegroups[ :slashem_vultures ]
task :default => variants.keys.map {|variant| "variant: #{variant}"}
task :clean => [] do
FileUtils::rm_rf "output"
end