Revamped the way TileSetBundler mogrifies and writes out bundles

Introduced a Writer class to hold all the options to the createBundle method and help clarify
things. This also ended up being a convenient place to put the previous member variables since
they affect the process in pretty much the same way.

Got rid of DirectoryTileSetBundler. This had a mutated copy of a method from TileSetBundler,
that appeared to be missing some bug fixes. Anyway, it shouldn't be needed anymore, callers
can use a BundleWriter that is a directory.

Added an option for outputting tileset bundle metadata as json. This includes some
utility classes and the net.sf.json-lib dependency. This follows the same pattern
as some other tools only jars so should end up being ignored by production
applications.
This commit is contained in:
Jamie Doornbos
2012-10-26 21:45:06 -07:00
committed by Michael Bayne
parent 426165b85e
commit bce83d858e
10 changed files with 844 additions and 326 deletions
@@ -35,10 +35,14 @@ import com.threerings.resource.ResourceBundle;
*/
public class BundleUtil
{
/** The path to the metadata resource that we will attempt to load
* from our resource set. */
/** The path to the binary metadata resource that jvm clients will attempt to load
* from the bundle's resource set. */
public static final String METADATA_PATH = "tsbundles.dat";
/** The path to the text metadata resource that playn clients will attempt to load
* from the bundle's resource set. */
public static final String METADATA_JSON_PATH = "tsbundles.json";
/**
* Extracts, but does not initialize, a serialized tileset bundle
* instance from the supplied resource bundle.