Index: uspace/app/barber/Makefile
===================================================================
--- uspace/app/barber/Makefile	(revision 2628642fbacaaace0098326703f7d066483e2760)
+++ uspace/app/barber/Makefile	(revision d735e2e934b8d024cd14b4f088821f9d2649e913)
@@ -44,7 +44,11 @@
 MATH = y
 
+IMG = image
+IMGS = $(IMG)s
+
 SOURCES = \
 	barber.c \
-	images.s
+	$(IMGS).s \
+	$(IMGS)_desc.c
 
 IMAGES = \
@@ -80,9 +84,18 @@
 	gfx/frame30.tga.gz
 
-PRE_DEPEND = images.s images.h
-EXTRA_CLEAN = images.s images.h
+PRE_DEPEND = $(IMGS).s $(IMGS).h $(IMGS)_desc.c
+EXTRA_CLEAN = $(IMGS).s $(IMGS).h $(IMGS)_desc.c $(IMGS).zip
 
 include $(USPACE_PREFIX)/Makefile.common
 
-images.s images.h: $(IMAGES)
-	$(ROOT_PATH)/tools/mkarray.py images COMPOSITOR_IMAGES "$(AS_PROLOG)" $^
+$(IMGS).s: $(IMGS).zip
+	unzip -p $< $@ > $@
+
+$(IMGS).h: $(IMGS).zip
+	unzip -p $< $@ > $@
+
+$(IMGS)_desc.c: $(IMGS).zip
+	unzip -p $< $@ > $@
+
+$(IMGS).zip: $(IMAGES)
+	$(ROOT_PATH)/tools/mkarray.py $(IMGS) $(IMG) "$(AS_PROLOG)" $^
Index: uspace/app/barber/barber.c
===================================================================
--- uspace/app/barber/barber.c	(revision 2628642fbacaaace0098326703f7d066483e2760)
+++ uspace/app/barber/barber.c	(revision d735e2e934b8d024cd14b4f088821f9d2649e913)
@@ -51,5 +51,5 @@
 #define NAME  "barber"
 
-#define FRAMES  30
+#define FRAMES  IMAGES
 
 #define MIN_FPS  1
@@ -99,38 +99,8 @@
 static bool decode_frames(void)
 {
-	frames[0] = decode_tga_gz((void *) frame01_tga_gz, frame01_tga_gz_size, 0);
-	frames[1] = decode_tga_gz((void *) frame02_tga_gz, frame02_tga_gz_size, 0);
-	frames[2] = decode_tga_gz((void *) frame03_tga_gz, frame03_tga_gz_size, 0);
-	frames[3] = decode_tga_gz((void *) frame04_tga_gz, frame04_tga_gz_size, 0);
-	frames[4] = decode_tga_gz((void *) frame05_tga_gz, frame05_tga_gz_size, 0);
-	frames[5] = decode_tga_gz((void *) frame06_tga_gz, frame06_tga_gz_size, 0);
-	frames[6] = decode_tga_gz((void *) frame07_tga_gz, frame07_tga_gz_size, 0);
-	frames[7] = decode_tga_gz((void *) frame08_tga_gz, frame08_tga_gz_size, 0);
-	frames[8] = decode_tga_gz((void *) frame09_tga_gz, frame09_tga_gz_size, 0);
-	frames[9] = decode_tga_gz((void *) frame10_tga_gz, frame10_tga_gz_size, 0);
-	frames[10] = decode_tga_gz((void *) frame11_tga_gz, frame11_tga_gz_size, 0);
-	frames[11] = decode_tga_gz((void *) frame12_tga_gz, frame12_tga_gz_size, 0);
-	frames[12] = decode_tga_gz((void *) frame13_tga_gz, frame13_tga_gz_size, 0);
-	frames[13] = decode_tga_gz((void *) frame14_tga_gz, frame14_tga_gz_size, 0);
-	frames[14] = decode_tga_gz((void *) frame15_tga_gz, frame15_tga_gz_size, 0);
-	frames[15] = decode_tga_gz((void *) frame16_tga_gz, frame16_tga_gz_size, 0);
-	frames[16] = decode_tga_gz((void *) frame17_tga_gz, frame17_tga_gz_size, 0);
-	frames[17] = decode_tga_gz((void *) frame18_tga_gz, frame18_tga_gz_size, 0);
-	frames[18] = decode_tga_gz((void *) frame19_tga_gz, frame19_tga_gz_size, 0);
-	frames[19] = decode_tga_gz((void *) frame20_tga_gz, frame20_tga_gz_size, 0);
-	frames[20] = decode_tga_gz((void *) frame21_tga_gz, frame21_tga_gz_size, 0);
-	frames[21] = decode_tga_gz((void *) frame22_tga_gz, frame22_tga_gz_size, 0);
-	frames[22] = decode_tga_gz((void *) frame23_tga_gz, frame23_tga_gz_size, 0);
-	frames[23] = decode_tga_gz((void *) frame24_tga_gz, frame24_tga_gz_size, 0);
-	frames[24] = decode_tga_gz((void *) frame25_tga_gz, frame25_tga_gz_size, 0);
-	frames[25] = decode_tga_gz((void *) frame26_tga_gz, frame26_tga_gz_size, 0);
-	frames[26] = decode_tga_gz((void *) frame27_tga_gz, frame27_tga_gz_size, 0);
-	frames[27] = decode_tga_gz((void *) frame28_tga_gz, frame28_tga_gz_size, 0);
-	frames[28] = decode_tga_gz((void *) frame29_tga_gz, frame29_tga_gz_size, 0);
-	frames[29] = decode_tga_gz((void *) frame30_tga_gz, frame30_tga_gz_size, 0);
-	
-	for (unsigned int frame = 0; frame < FRAMES; frame++) {
-		if (frames[frame] == NULL) {
-			printf("Unable to decode frame %u.\n", frame);
+	for (unsigned int i = 0; i < FRAMES; i++) {
+		frames[i] = decode_tga_gz(images[i].addr, images[i].size, 0);
+		if (frames[i] == NULL) {
+			printf("Unable to decode frame %u.\n", i);
 			return false;
 		}
