about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--cpetpet.c17
1 files changed, 14 insertions, 3 deletions
diff --git a/cpetpet.c b/cpetpet.c
index 5ed1cdf..fe6234b 100644
--- a/cpetpet.c
+++ b/cpetpet.c
@@ -11,11 +11,23 @@
 #include "config.h"
 
 
+static char *gifs[] = {
+    SHAREDIR "/pet0.gif",
+    SHAREDIR "/pet1.gif",
+    SHAREDIR "/pet2.gif",
+    SHAREDIR "/pet3.gif",
+    SHAREDIR "/pet4.gif",
+    SHAREDIR "/pet5.gif",
+    SHAREDIR "/pet6.gif",
+    SHAREDIR "/pet7.gif",
+    SHAREDIR "/pet8.gif",
+    SHAREDIR "/pet9.gif",
+};
+
 void CPetPet(const char *in, const char *out, const size_t delay)
 {
     MagickWand *result, *concat, *hand, *avatar, *edited;
     PixelWand *empty;
-    char filenamebuf[128];
     double squeeze;
     double width, height;
     double offset_x, offset_y;
@@ -44,14 +56,13 @@ void CPetPet(const char *in, const char *out, const size_t delay)
         height = 0.8 - squeeze * 0.05;
         offset_x = (1 - width) * 0.5 + 0.1;
         offset_y = (1 - height) - 0.08;
-        snprintf(filenamebuf, sizeof(filenamebuf), SHAREDIR "/pet%d.gif", i);
 
         edited = CloneMagickWand(avatar);
         MagickNewImage(concat, MagickGetImageWidth(avatar), MagickGetImageHeight(avatar), empty);
         MagickSetImageDispose(concat, BackgroundDispose);
         MagickSetImageDelay(concat, delay);
         MagickResizeImage(edited, (double)MagickGetImageWidth(avatar)*width, (double)MagickGetImageHeight(avatar)*height, Lanczos2Filter);
-        MagickReadImage(hand, filenamebuf);
+        MagickReadImage(hand, gifs[i]);
 
         MagickCompositeImage(concat, edited, OverCompositeOp, MagickTrue, MagickGetImageWidth(concat)*offset_x, MagickGetImageHeight(concat)*offset_y);
         MagickCompositeImage(concat, hand, OverCompositeOp, MagickTrue, 0, 0);