changeset 33:c8436f1752d7

Add special handling for different sized sprites.
author Simon Cross <hodgestar@gmail.com>
date Sun, 30 Aug 2009 19:05:31 +0000
parents f5f74f1f3a0b
children 9ac2a0a9e42e
files regenerate-pngs.py
diffstat 1 files changed, 18 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/regenerate-pngs.py	Sun Aug 30 18:59:12 2009 +0000
+++ b/regenerate-pngs.py	Sun Aug 30 19:05:31 2009 +0000
@@ -6,6 +6,7 @@
 
 def svg_to_png(svg_name, png_name, w, h):
     """Convert an SVG file to a PNG file."""
+    print "Generating %s at %dx%d..." % (png_name, w, h)
     r = rsvg.Handle(svg_name)
 
     scale = max(float(r.props.width) / w, float(r.props.height) / h)
@@ -20,15 +21,29 @@
     r.render_cairo(ctx)
     cs.write_to_png(png_name)
 
-def main(path, width, height):
+def process_svg_folder(path, width, height):
     for dirpath, dirnames, filenames in os.walk(path):
         for filename in filenames:
             basename, ext = os.path.splitext(filename)
             if ext == ".svg":
                 svg_name = os.path.join(dirpath, basename + ".svg")
                 png_name = os.path.join(dirpath, basename + ".png")
-                print "Generating %s at %dx%d..." % (png_name, width, height)
                 svg_to_png(svg_name, png_name, width, height)
 
+def process_sprite(name, width, height, sprite_path):
+    svg_name = os.path.join(sprite_path, name) + ".svg"
+    png_name = os.path.join(sprite_path, name) + ".png"
+    svg_to_png(svg_name, png_name, width, height)
+
 if __name__ == "__main__":
-    main("data", 20, 20)
+    tile_path = "data/tiles"
+    sprite_path = "data/sprites"
+    sprites = [
+        ("chkn", 20, 20),
+        ("fox", 20, 20),
+        ("henhouse", 60, 40),
+    ]
+
+    process_svg_folder("data/tiles", 20, 20)
+    for name, width, height in sprites:
+        process_sprite(name, width, height, sprite_path)