#include #include #include char *texture[] = { "eeeeeeebeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeg", "eeeeeeebeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeef", "eeeeeeebeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeg", "eeeeeeebeeeeeeeeeeeee~~~~~~eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeef", "eeeeeeeeeeeeeeeeeeeee~eeee~eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeg", "eeeeeeeeeeeeeeeeeeee~eeeeee~eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeef", "eeeeeeeeeeeeeeeeeee~eeeeeee~~eeeeeeeggggggggggggeeeeeeeeeeeeeeeg", "fffffeeeeeeeeeeeeee~eeeeeeeee~eeeeegddddddddddddgeeeeeeeeeeeeeef", "feeeeeefeeeeeeeeeee~eeeeeeee~eeeeeeegdddddddddgggeeeeeeeeeeeeeeg", "feeeeeefeeeeeeeeeee~~~~~~~~~eeeeeeeeeggggggddddggeeeeeeeeeeeeeef", "fffffeefeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeegddddddggeeeeeeeeeeeeeg", "eeeefeeffffeefffeeffffeeffffeefffffeeeeeegdddddddgeeeeeeeeeeeeef", "eeeefeefeefeefeeeefeefeefeefeefefefeeeeeegdddddddgeeeeeeeeeeeeeg", "fffffeefeefeefeeeeffffeeffffeefefefeeeeeeeggdddddgeeeeeeeeeeeeef", "eeeeeeeeeeeegeegeeeegggeeeeeeeegeeeeeeeeeegggddddgeegggeeeeeeeeg", "eeeeeeeeeeeegeegeeeegggeeeeeeeegeeeeeeeeegggggggggeegggeeeeeeeef", "eeeeeeeeeeeegeegeeeegggeeeeeeeegeeeeeeeeeegggggggeeegggeeeeeeeeg", "eeeeeeeeeeeegeegeeeegggeeeeeeeegeeeeeeeeeeeegggggeeegggeeeeeeeef", "eeeeeeeeeeeegeegeeeegggeeeeeeeegeeeeeeeeeeeeggggeeeegggeeeeeeeeg", "eeeeeeeeeeeegeegeeeegggeeeeeeeegeeeeeeeeeeeeggggeeeegggeeeeeeeef", }; char *ascolor (int c) { static char *current, buff[]={'\e', '[' , '0', 'm', ' ', 0}; static char *color_strings[] = {"\e[0;30m*", "\e[0;31m*", "\e[0;32m*", "\e[0;33m*", "\e[0;34m*", "\e[0;35m*", "\e[0;36m*", "\e[0;37m*", "\e[1;30m*", "\e[1;31m*", "\e[1;32m*", "\e[1;33m*", "\e[1;34m*", "\e[1;35m*", "\e[1;36m*", "\e[1;37m*", }; return (c<'a' || c>'z') ? ((*(buff+4)=c), buff) : color_strings[(c-'a')&15]; } void spaces (int x) { printf ("\e[%dC", x); } void dump_color_string (double offset, double len, int y) { double i=0.8; char *last=NULL, *current=NULL; spaces (40-len+1); while (i