[vassalengine-svn-trunk] [vassalengine-svn] SF.net SVN: vassalengine:[8212] VASSAL-src/trunk/src/VA
Brought to you by:
rodneykinney,
uckelman
From: <uck...@us...> - 2012-06-20 11:19:39
|
Revision: 8212 http://vassalengine.svn.sourceforge.net/vassalengine/?rev=8212&view=rev Author: uckelman Date: 2012-06-20 11:19:29 +0000 (Wed, 20 Jun 2012) Log Message: ----------- Include "images/" in tile names when running TilingHandler. This helps us handle directories nested under images, and archive which have no images directory at all (such as VASL map archives). Modified Paths: -------------- VASSAL-src/trunk/src/VASSAL/launch/TilingHandler.java VASSAL-src/trunk/src/VASSAL/tools/image/tilecache/FileArchiveImageTiler.java VASSAL-src/trunk/src/VASSAL/tools/imageop/ScaleOpTiledBitmapImpl.java Modified: VASSAL-src/trunk/src/VASSAL/launch/TilingHandler.java =================================================================== --- VASSAL-src/trunk/src/VASSAL/launch/TilingHandler.java 2012-06-20 11:19:04 UTC (rev 8211) +++ VASSAL-src/trunk/src/VASSAL/launch/TilingHandler.java 2012-06-20 11:19:29 UTC (rev 8212) @@ -95,26 +95,24 @@ } protected boolean isFresh(FileArchive archive, - FileStore tcache, String iname) + FileStore tcache, String ipath) throws IOException { - final String apath = DataArchive.IMAGE_DIR + iname; - // look at the first 1:1 tile - final String tpath = TileUtils.tileName(iname, 0, 0, 1); + final String tpath = TileUtils.tileName(ipath, 0, 0, 1); // check whether the image is older than the tile - final long imtime = archive.getMTime(apath); + final long imtime = archive.getMTime(ipath); return imtime > 0 && // time in archive might be goofy imtime <= tcache.getMTime(tpath); } - protected Dimension getImageSize(DataArchive archive, String iname) + protected Dimension getImageSize(DataArchive archive, String ipath) throws IOException { InputStream in = null; try { - in = archive.getInputStream(DataArchive.IMAGE_DIR + iname); - final Dimension id = ImageUtils.getImageSize(iname, in); + in = archive.getInputStream(ipath); + final Dimension id = ImageUtils.getImageSize(ipath, in); in.close(); return id; } @@ -138,16 +136,18 @@ final FileArchive fa = archive.getArchive(); for (String iname : images) { + final String ipath = DataArchive.IMAGE_DIR + iname; + // skip images with fresh tiles - if (isFresh(fa, tcache, iname)) continue; + if (isFresh(fa, tcache, ipath)) continue; final Dimension idim; try { - idim = getImageSize(archive, iname); + idim = getImageSize(archive, ipath); } catch (IOException e) { // skip images we can't read - failed.add(Pair.of(iname, e)); + failed.add(Pair.of(ipath, e)); continue; } @@ -158,7 +158,7 @@ if (t == 0) continue; tcount += t; - multi.add("images/" + iname); + multi.add(ipath); // check whether this image has the most pixels if (idim.width * idim.height > maxpix) { Modified: VASSAL-src/trunk/src/VASSAL/tools/image/tilecache/FileArchiveImageTiler.java =================================================================== --- VASSAL-src/trunk/src/VASSAL/tools/image/tilecache/FileArchiveImageTiler.java 2012-06-20 11:19:04 UTC (rev 8211) +++ VASSAL-src/trunk/src/VASSAL/tools/image/tilecache/FileArchiveImageTiler.java 2012-06-20 11:19:29 UTC (rev 8212) @@ -88,8 +88,7 @@ IOUtils.closeQuietly(in); } - final String iname = new File(ipath).getName(); - slicer.slice(src, iname, tpath, tw, th, exec, tileListener); + slicer.slice(src, ipath, tpath, tw, th, exec, tileListener); } exec.shutdown(); Modified: VASSAL-src/trunk/src/VASSAL/tools/imageop/ScaleOpTiledBitmapImpl.java =================================================================== --- VASSAL-src/trunk/src/VASSAL/tools/imageop/ScaleOpTiledBitmapImpl.java 2012-06-20 11:19:04 UTC (rev 8211) +++ VASSAL-src/trunk/src/VASSAL/tools/imageop/ScaleOpTiledBitmapImpl.java 2012-06-20 11:19:29 UTC (rev 8212) @@ -62,13 +62,7 @@ (((int) iscale) & (((int) iscale)-1)) == 0; if (invPow2 && sop instanceof SourceOp) { - String name = ((SourceOp) sop).getName(); - - // strip off leading "images/" - if (name.startsWith("images/")) { - name = name.substring(7); - } - + final String name = ((SourceOp) sop).getName(); return new SourceOpDiskCacheBitmapImpl(name, tileX, tileY, scale); } else { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. ------------------------------------------------------------------------------ Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ _______________________________________________ vassalengine-svn mailing list vas...@li... https://lists.sourceforge.net/lists/listinfo/vassalengine-svn |