SforzandoCF

saffron export stuff

Mar 9th, 2026
39
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 0.85 KB | None | 0 0
  1. public class SB3Exporter {
  2.     public static void exportSprite3 (ZipOutputStream zos, SaffronCanvas c) {
  3.         BufferedImage[] images = new BufferedImage[lastFrame(c)];
  4.         CompletableFuture<Void>[] futures = new CompletableFuture<Void>[images.length];
  5.         for (int i = 0; i < images.length; i++)
  6.             futures[i] = CompletableFuture.supplyAsync(() -> c.drawForOutput(i)).thenAccept((b) -> images[i] = b);
  7.         CompletableFuture.allOf(futures).thenAccept((v) -> {
  8.             for (BufferedImage img : images) {
  9.                 zos.putNextEntry(new ZipEntry(getName(img)));
  10.                 ImageIO.write(img, "png", zos);
  11.                 zos.closeEntry();
  12.             }
  13.             zos.putNextEntry(new ZipEntry("sprite.json"));
  14.             zos.write(getContent(images, c).getBytes());
  15.             zos.closeEntry();
  16.         });
  17.     }
Advertisement
Add Comment
Please, Sign In to add comment