def load_and_process_sprites(args): sprites = load_sprites(args.sprites) if not sprites: raise ValueError('No sprites found.') if args.mask: ## Mask sprites against background color sprites = mask_sprites(sprites, args.mask) if args.trim: ## Trim sprites to visible area sprites = trim_sprites(sprites) else: ## Generate hashes of trimmed sprites sprites = hash_sprites(sprites) if args.alias is not None: ## Find and remove duplicate sprites sprites, aliased = alias_sprites(sprites, args.alias) if aliased: sheet = Sheet(npot=True, layout=get_layout('stack')) sheet.add(aliased) texture = sheet.prepare(args.debug) texname = '%salias.png' % args.prefix texture.save(texname) if args.extrude: ## Extrude sprite edges to avoid color bleed sprites = extrude_sprites(sprites, args.extrude) if args.pad: ## Insert transparent padding between sprites sprites = pad_sprites(sprites, args.pad) if args.sort: sprites = sort_sprites(sprites, args.sort, args.rotate) return sprites