aboutsummaryrefslogtreecommitdiffstats
path: root/src/libaaimage/aaimage.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/libaaimage/aaimage.c')
-rw-r--r--src/libaaimage/aaimage.c74
1 files changed, 74 insertions, 0 deletions
diff --git a/src/libaaimage/aaimage.c b/src/libaaimage/aaimage.c
new file mode 100644
index 0000000..8e8b757
--- /dev/null
+++ b/src/libaaimage/aaimage.c
@@ -0,0 +1,74 @@
+
+#include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+#include "aaimage.h"
+
+extern const char *aaimage[];
+
+void print_aaimage(void)
+{
+ int i, j;
+
+ for (i = 0; aaimage[i]; i++) {
+ for (j = 0; j < (int)strlen(aaimage[i]); j++) {
+ if (aaimage[i][j] == '@') {
+ j++;
+ switch(aaimage[i][j]) {
+ case 'k': /* black */
+ printf("\033[0;30m");
+ break;
+ case 'r': /* red */
+ printf("\033[0;31m");
+ break;
+ case 'g': /* green */
+ printf("\033[0;32m");
+ break;
+ case 'y': /* yellow */
+ printf("\033[0;33m");
+ break;
+ case 'b': /* blue */
+ printf("\033[0;34m");
+ break;
+ case 'm': /* magenta */
+ printf("\033[0;35m");
+ break;
+ case 'c': /* cyan */
+ printf("\033[0;36m");
+ break;
+ case 'w': /* white */
+ printf("\033[0;37m");
+ break;
+ case 'K': /* bright black */
+ printf("This will not work on some terminals, please use 'w'\n");
+ abort();
+ case 'R': /* bright red */
+ printf("\033[1;31m");
+ break;
+ case 'G': /* bright green */
+ printf("\033[1;32m");
+ break;
+ case 'Y': /* bright yellow */
+ printf("\033[1;33m");
+ break;
+ case 'B': /* bright blue */
+ printf("\033[1;34m");
+ break;
+ case 'M': /* bright magenta */
+ printf("\033[1;35m");
+ break;
+ case 'C': /* bright cyan */
+ printf("\033[1;36m");
+ break;
+ case 'W': /* bright white */
+ printf("\033[1;37m");
+ break;
+ }
+ } else
+ printf("%c", aaimage[i][j]);
+ }
+ printf("\n");
+ }
+ printf("\033[0;39m");
+}
+