From d4ad5a58f060cf9248f521e480c07ac8c32d58f3 Mon Sep 17 00:00:00 2001 From: Dr-Noob Date: Tue, 30 Mar 2021 21:41:59 +0200 Subject: [PATCH] Add new Intel ASCII art made with unicode characters --- src/common/ascii.h | 25 ++-------------- src/common/ascii/convert.sh | 3 ++ src/common/ascii/intel.txt | 19 ++++++++++++ src/common/printer.c | 60 ++++++++++++++++++++++++++++++------- 4 files changed, 74 insertions(+), 33 deletions(-) create mode 100755 src/common/ascii/convert.sh create mode 100644 src/common/ascii/intel.txt diff --git a/src/common/ascii.h b/src/common/ascii.h index 97e0efc..ed66ad4 100644 --- a/src/common/ascii.h +++ b/src/common/ascii.h @@ -24,28 +24,10 @@ \ \ " +unsigned char art_unicode_intel[] = { + 0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0xe2,0x96,0x81,0xe2,0x96,0x82,0xe2,0x96,0x83,0xe2,0x96,0x84,0xe2,0x96,0x85,0xe2,0x96,0x86,0xe2,0x96,0x86,0xe2,0x96,0x87,0xe2,0x96,0x87,0xe2,0x96,0x88,0xe2,0x96,0x88,0xe2,0x96,0x88,0xe2,0x96,0x88,0xe2,0x96,0x88,0xe2,0x96,0x88,0xe2,0x96,0x88,0xe2,0x96,0x87,0xe2,0x96,0x87,0xe2,0x96,0x86,0xe2,0x96,0x85,0xe2,0x96,0x85,0xe2,0x96,0x84,0xe2,0x96,0x82,0xe2,0x96,0x81,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0xe2,0x96,0x81,0xe2,0x96,0x83,0xe2,0x96,0x84,0xe2,0x96,0x86,0xe2,0x96,0x87,0xe2,0x96,0x9b,0xe2,0x96,0x80,0xe2,0x96,0x80,0xe2,0x96,0x80,0xe2,0x96,0x80,0xe2,0x96,0x94,0xe2,0x96,0x94,0xe2,0x96,0x94,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0xe2,0x96,0x94,0xe2,0x96,0x94,0xe2,0x96,0x94,0xe2,0x96,0x80,0xe2,0x96,0x80,0xe2,0x96,0x80,0xe2,0x96,0x88,0xe2,0x96,0x88,0xe2,0x96,0x87,0xe2,0x96,0x85,0xe2,0x96,0x83,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0xe2,0x96,0x82,0xe2,0x96,0x84,0xe2,0x96,0x86,0xe2,0x96,0x88,0xe2,0x96,0x80,0xe2,0x96,0x80,0xe2,0x96,0x94,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0xe2,0x96,0x9d,0xe2,0x96,0x9c,0xe2,0x96,0x88,0xe2,0x96,0x88,0xe2,0x96,0x85,0xe2,0x96,0x81,0x20,0x20,0x20,0x20,0x20,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0xe2,0x96,0x80,0xe2,0x96,0x80,0xe2,0x96,0x94,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0xe2,0x96,0x94,0xe2,0x96,0x9c,0xe2,0x96,0x88,0xe2,0x96,0x88,0xe2,0x96,0x96,0x20,0x20,0x20,0x20,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0xe2,0x96,0x85,0xe2,0x96,0x85,0xe2,0x96,0x85,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0xe2,0x96,0x86,0xe2,0x96,0x86,0xe2,0x96,0x86,0x20,0x20,0x20,0x20,0x20,0x20,0xe2,0x96,0x9c,0xe2,0x96,0x88,0xe2,0x96,0x88,0xe2,0x96,0x96,0x20,0x20,0x20,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0xe2,0x96,0x81,0xe2,0x96,0x85,0x20,0x20,0xe2,0x96,0x80,0xe2,0x96,0x80,0xe2,0x96,0x80,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0xe2,0x96,0x90,0xe2,0x96,0x88,0xe2,0x96,0x88,0xe2,0x96,0x8c,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0xe2,0x96,0x88,0xe2,0x96,0x88,0xe2,0x96,0x88,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0xe2,0x96,0x88,0xe2,0x96,0x88,0xe2,0x96,0x89,0x20,0x20,0x20,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0xe2,0x96,0x84,0xe2,0x96,0x9b,0xe2,0x96,0x98,0x20,0x20,0xe2,0x96,0x84,0xe2,0x96,0x84,0xe2,0x96,0x84,0x20,0x20,0xe2,0x96,0x97,0xe2,0x96,0x84,0xe2,0x96,0x84,0xe2,0x96,0x84,0xe2,0x96,0x84,0xe2,0x96,0x84,0xe2,0x96,0x84,0xe2,0x96,0x83,0xe2,0x96,0x81,0x20,0x20,0xe2,0x96,0x90,0xe2,0x96,0x88,0xe2,0x96,0x88,0xe2,0x96,0x99,0xe2,0x96,0x84,0xe2,0x96,0x96,0x20,0x20,0xe2,0x96,0x81,0xe2,0x96,0x83,0xe2,0x96,0x84,0xe2,0x96,0x85,0xe2,0x96,0x84,0xe2,0x96,0x83,0x20,0x20,0x20,0x20,0xe2,0x96,0x88,0xe2,0x96,0x88,0xe2,0x96,0x88,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0xe2,0x96,0x88,0xe2,0x96,0x88,0xe2,0x96,0x88,0x20,0x20,0x20,0x0a,0x20,0x20,0x20,0x20,0xe2,0x96,0x97,0xe2,0x96,0x9f,0xe2,0x96,0x9b,0x20,0x20,0x20,0x20,0xe2,0x96,0x88,0xe2,0x96,0x88,0xe2,0x96,0x88,0x20,0x20,0xe2,0x96,0x90,0xe2,0x96,0x88,0xe2,0x96,0x88,0xe2,0x96,0x80,0xe2,0x96,0x80,0xe2,0x96,0x80,0xe2,0x96,0x9c,0xe2,0x96,0x88,0xe2,0x96,0x88,0xe2,0x96,0x96,0x20,0xe2,0x96,0x90,0xe2,0x96,0x88,0xe2,0x96,0x88,0xe2,0x96,0x9b,0xe2,0x96,0x80,0xe2,0x96,0x98,0x20,0xe2,0x96,0x9f,0xe2,0x96,0x88,0xe2,0x96,0x88,0xe2,0x96,0x80,0xe2,0x96,0x80,0xe2,0x96,0x80,0xe2,0x96,0x88,0xe2,0x96,0x88,0xe2,0x96,0x96,0x20,0x20,0xe2,0x96,0x88,0xe2,0x96,0x88,0xe2,0x96,0x88,0x20,0x20,0x20,0x20,0x20,0x20,0xe2,0x96,0x97,0xe2,0x96,0x88,0xe2,0x96,0x88,0xe2,0x96,0x8a,0x20,0x20,0x20,0x0a,0x20,0x20,0x20,0x20,0xe2,0x96,0x88,0xe2,0x96,0x9b,0x20,0x20,0x20,0x20,0x20,0xe2,0x96,0x88,0xe2,0x96,0x88,0xe2,0x96,0x88,0x20,0x20,0xe2,0x96,0x90,0xe2,0x96,0x88,0xe2,0x96,0x88,0x20,0x20,0x20,0xe2,0x96,0x95,0xe2,0x96,0x88,0xe2,0x96,0x88,0xe2,0x96,0x8c,0x20,0xe2,0x96,0x90,0xe2,0x96,0x88,0xe2,0x96,0x88,0xe2,0x96,0x8c,0x20,0x20,0xe2,0x96,0x90,0xe2,0x96,0x88,0xe2,0x96,0x88,0xe2,0x96,0x82,0xe2,0x96,0x82,0xe2,0x96,0x82,0xe2,0x96,0x82,0xe2,0x96,0x82,0xe2,0x96,0x88,0xe2,0x96,0x88,0x20,0x20,0xe2,0x96,0x88,0xe2,0x96,0x88,0xe2,0x96,0x88,0x20,0x20,0x20,0x20,0x20,0xe2,0x96,0x97,0xe2,0x96,0x88,0xe2,0x96,0x88,0xe2,0x96,0x88,0xe2,0x96,0x98,0x20,0x20,0x20,0x0a,0x20,0x20,0x20,0xe2,0x96,0x90,0xe2,0x96,0x88,0xe2,0x96,0x8d,0x20,0x20,0x20,0x20,0x20,0xe2,0x96,0x88,0xe2,0x96,0x88,0xe2,0x96,0x88,0x20,0x20,0xe2,0x96,0x90,0xe2,0x96,0x88,0xe2,0x96,0x88,0x20,0x20,0x20,0xe2,0x96,0x95,0xe2,0x96,0x88,0xe2,0x96,0x88,0xe2,0x96,0x8c,0x20,0xe2,0x96,0x90,0xe2,0x96,0x88,0xe2,0x96,0x88,0xe2,0x96,0x8c,0x20,0x20,0xe2,0x96,0x90,0xe2,0x96,0x88,0xe2,0x96,0x88,0xe2,0x96,0x9b,0xe2,0x96,0x80,0xe2,0x96,0x80,0xe2,0x96,0x80,0xe2,0x96,0x80,0xe2,0x96,0x80,0xe2,0x96,0x80,0x20,0x20,0xe2,0x96,0x88,0xe2,0x96,0x88,0xe2,0x96,0x88,0x20,0x20,0x20,0x20,0xe2,0x96,0x84,0xe2,0x96,0x88,0xe2,0x96,0x88,0xe2,0x96,0x9b,0xe2,0x96,0x98,0x20,0x20,0x20,0x20,0x0a,0x20,0x20,0x20,0xe2,0x96,0x88,0xe2,0x96,0x88,0xe2,0x96,0x8f,0x20,0x20,0x20,0x20,0x20,0xe2,0x96,0x88,0xe2,0x96,0x88,0xe2,0x96,0x88,0x20,0x20,0xe2,0x96,0x90,0xe2,0x96,0x88,0xe2,0x96,0x88,0x20,0x20,0x20,0xe2,0x96,0x95,0xe2,0x96,0x88,0xe2,0x96,0x88,0xe2,0x96,0x8c,0x20,0xe2,0x96,0x90,0xe2,0x96,0x88,0xe2,0x96,0x88,0xe2,0x96,0x8c,0x20,0x20,0xe2,0x96,0x9d,0xe2,0x96,0x88,0xe2,0x96,0x88,0xe2,0x96,0x99,0xe2,0x96,0x81,0x20,0xe2,0x96,0x81,0xe2,0x96,0x82,0xe2,0x96,0x83,0x20,0x20,0x20,0xe2,0x96,0x88,0xe2,0x96,0x88,0xe2,0x96,0x88,0x20,0x20,0xe2,0x96,0x85,0xe2,0x96,0x88,0xe2,0x96,0x88,0xe2,0x96,0x88,0xe2,0x96,0x80,0x20,0x20,0x20,0x20,0x20,0x20,0x0a,0x20,0x20,0x20,0xe2,0x96,0x88,0xe2,0x96,0x88,0xe2,0x96,0x8d,0x20,0x20,0x20,0x20,0x20,0xe2,0x96,0x9d,0xe2,0x96,0x88,0xe2,0x96,0x88,0x20,0x20,0xe2,0x96,0x90,0xe2,0x96,0x88,0xe2,0x96,0x88,0x20,0x20,0x20,0xe2,0x96,0x95,0xe2,0x96,0x88,0xe2,0x96,0x88,0xe2,0x96,0x8c,0x20,0x20,0xe2,0x96,0x80,0xe2,0x96,0x88,0xe2,0x96,0x88,0xe2,0x96,0x88,0xe2,0x96,0x8b,0x20,0xe2,0x96,0x9d,0xe2,0x96,0x80,0xe2,0x96,0x88,0xe2,0x96,0x88,0xe2,0x96,0x88,0xe2,0x96,0x88,0xe2,0x96,0x88,0xe2,0x96,0x9b,0xe2,0x96,0x98,0x20,0x20,0xe2,0x96,0x9d,0xe2,0x96,0x9c,0xe2,0x96,0x88,0x20,0xe2,0x96,0x95,0xe2,0x96,0x88,0xe2,0x96,0x80,0xe2,0x96,0x94,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x0a,0x20,0x20,0x20,0xe2,0x96,0x90,0xe2,0x96,0x88,0xe2,0x96,0x99,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0xe2,0x96,0x94,0xe2,0x96,0x94,0xe2,0x96,0x94,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x0a,0x20,0x20,0x20,0x20,0xe2,0x96,0x9c,0xe2,0x96,0x88,0xe2,0x96,0x99,0xe2,0x96,0x96,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0xe2,0x96,0x81,0xe2,0x96,0x82,0xe2,0x96,0x84,0xe2,0x96,0x96,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x0a,0x20,0x20,0x20,0x20,0x20,0xe2,0x96,0x9c,0xe2,0x96,0x88,0xe2,0x96,0x88,0xe2,0x96,0x86,0xe2,0x96,0x83,0xe2,0x96,0x81,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0xe2,0x96,0x81,0xe2,0x96,0x82,0xe2,0x96,0x84,0xe2,0x96,0x85,0xe2,0x96,0x87,0xe2,0x96,0x88,0xe2,0x96,0x88,0xe2,0x96,0x88,0xe2,0x96,0x8c,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0xe2,0x96,0x9d,0xe2,0x96,0x9c,0xe2,0x96,0x88,0xe2,0x96,0x88,0xe2,0x96,0x88,0xe2,0x96,0x87,0xe2,0x96,0x85,0xe2,0x96,0x84,0xe2,0x96,0x83,0xe2,0x96,0x82,0xe2,0x96,0x81,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0xe2,0x96,0x81,0xe2,0x96,0x81,0xe2,0x96,0x82,0xe2,0x96,0x83,0xe2,0x96,0x84,0xe2,0x96,0x85,0xe2,0x96,0x86,0xe2,0x96,0x87,0xe2,0x96,0x88,0xe2,0x96,0x88,0xe2,0x96,0x88,0xe2,0x96,0x88,0xe2,0x96,0x88,0xe2,0x96,0x88,0xe2,0x96,0x88,0xe2,0x96,0x80,0xe2,0x96,0x80,0xe2,0x96,0x98,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0xe2,0x96,0x94,0xe2,0x96,0x80,0xe2,0x96,0x80,0xe2,0x96,0x88,0xe2,0x96,0x88,0xe2,0x96,0x88,0xe2,0x96,0x88,0xe2,0x96,0x88,0xe2,0x96,0x88,0xe2,0x96,0x88,0xe2,0x96,0x88,0xe2,0x96,0x87,0xe2,0x96,0x87,0xe2,0x96,0x87,0xe2,0x96,0x87,0xe2,0x96,0x87,0xe2,0x96,0x87,0xe2,0x96,0x87,0xe2,0x96,0x87,0xe2,0x96,0x87,0xe2,0x96,0x87,0xe2,0x96,0x88,0xe2,0x96,0x88,0xe2,0x96,0x88,0xe2,0x96,0x88,0xe2,0x96,0x88,0xe2,0x96,0x88,0xe2,0x96,0x88,0xe2,0x96,0x88,0xe2,0x96,0x88,0xe2,0x96,0x88,0xe2,0x96,0x88,0xe2,0x96,0x9b,0xe2,0x96,0x80,0xe2,0x96,0x80,0xe2,0x96,0x94,0xe2,0x96,0x94,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0xe2,0x96,0x94,0xe2,0x96,0x94,0xe2,0x96,0x80,0xe2,0x96,0x80,0xe2,0x96,0x80,0xe2,0x96,0x80,0xe2,0x96,0x88,0xe2,0x96,0x88,0xe2,0x96,0x88,0xe2,0x96,0x88,0xe2,0x96,0x88,0xe2,0x96,0x88,0xe2,0x96,0x88,0xe2,0x96,0x88,0xe2,0x96,0x88,0xe2,0x96,0x88,0xe2,0x96,0x88,0xe2,0x96,0x88,0xe2,0x96,0x88,0xe2,0x96,0x80,0xe2,0x96,0x80,0xe2,0x96,0x80,0xe2,0x96,0x80,0xe2,0x96,0x80,0xe2,0x96,0x94,0xe2,0x96,0x94,0xe2,0x96,0x94,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x0a +}; -#define INTEL_ASCII \ -" ################ \ - ####### ####### \ - #### #### \ - ### #### \ - ### ### \ - ### ### \ - # ### ### ### \ - ## ### ######### ###### ###### ### ### \ - ## ### ### ### ### #### #### ### ### \ - ## ### ### ### ### ### ### ### ### \ -## ### ### ### ### ########## ### #### \ -## ### ### ### ### ### ### ##### \ -## ## ### ### ##### ######### ## ### \ -### \ - ### \ - #### #### \ - ##### ########## \ - ########## ################ \ - ############################### " - #define SNAPDRAGON_ASCII \ " \ @@######## \ @@ -195,7 +177,6 @@ static const char* ASCII_ARRAY [] = { AMD_ASCII, - INTEL_ASCII, ARM_ASCII, SNAPDRAGON_ASCII, MEDIATEK_ASCII, diff --git a/src/common/ascii/convert.sh b/src/common/ascii/convert.sh new file mode 100755 index 0000000..c4fd6b0 --- /dev/null +++ b/src/common/ascii/convert.sh @@ -0,0 +1,3 @@ +#!/bin/bash + +cat intel.txt | hexdump -vC | head -n-1 | cut -d' ' -f2- | cut -d'|' -f1 | tr '\n' ' ' | tr -s ' ' | tr ' ' ',' | sed "s/,/,0x/g" diff --git a/src/common/ascii/intel.txt b/src/common/ascii/intel.txt new file mode 100644 index 0000000..7b34ade --- /dev/null +++ b/src/common/ascii/intel.txt @@ -0,0 +1,19 @@ + ▁▂▃▄▅▆▆▇▇███████▇▇▆▅▅▄▂▁ + ▁▃▄▆▇▛▀▀▀▀▔▔▔ ▔▔▔▀▀▀██▇▅▃ + ▂▄▆█▀▀▔ ▝▜██▅▁ + ▀▀▔ ▔▜██▖ + ▅▅▅ ▆▆▆ ▜██▖ + ▁▅ ▀▀▀ ▐██▌ ███ ██▉ + ▄▛▘ ▄▄▄ ▗▄▄▄▄▄▄▃▁ ▐██▙▄▖ ▁▃▄▅▄▃ ███ ███ + ▗▟▛ ███ ▐██▀▀▀▜██▖ ▐██▛▀▘ ▟██▀▀▀██▖ ███ ▗██▊ + █▛ ███ ▐██ ▕██▌ ▐██▌ ▐██▂▂▂▂▂██ ███ ▗███▘ + ▐█▍ ███ ▐██ ▕██▌ ▐██▌ ▐██▛▀▀▀▀▀▀ ███ ▄██▛▘ + ██▏ ███ ▐██ ▕██▌ ▐██▌ ▝██▙▁ ▁▂▃ ███ ▅███▀ + ██▍ ▝██ ▐██ ▕██▌ ▀███▋ ▝▀█████▛▘ ▝▜█ ▕█▀▔ + ▐█▙ ▔▔▔ + ▜█▙▖ ▁▂▄▖ + ▜██▆▃▁ ▁▂▄▅▇███▌ + ▝▜███▇▅▄▃▂▁ ▁▁▂▃▄▅▆▇███████▀▀▘ + ▔▀▀████████▇▇▇▇▇▇▇▇▇▇███████████▛▀▀▔▔ + ▔▔▀▀▀▀█████████████▀▀▀▀▀▔▔▔ + diff --git a/src/common/printer.c b/src/common/printer.c index 19993a2..0048eb7 100644 --- a/src/common/printer.c +++ b/src/common/printer.c @@ -105,6 +105,7 @@ struct attribute { struct ascii { char art[NUMBER_OF_LINES][LINE_SIZE+1]; + unsigned char* art_unicode; char color1_ascii[100]; char color2_ascii[100]; char color1_text[100]; @@ -159,8 +160,8 @@ struct ascii* set_ascii(VENDOR vendor, STYLE style, struct colors* cs) { #ifdef ARCH_X86 if(art->vendor == CPU_VENDOR_INTEL) { - COL_FANCY_1 = COLOR_BG_CYAN; - COL_FANCY_2 = COLOR_BG_WHITE; + COL_FANCY_1 = COLOR_FG_CYAN; + COL_FANCY_2 = COLOR_FG_WHITE; COL_FANCY_3 = COLOR_FG_CYAN; COL_FANCY_4 = COLOR_FG_WHITE; art->ascii_chars[0] = '#'; @@ -262,6 +263,12 @@ struct ascii* set_ascii(VENDOR vendor, STYLE style, struct colors* cs) { if(cs != NULL) { COL_FANCY_1 = rgb_to_ansi(cs->c1, true, true); COL_FANCY_2 = rgb_to_ansi(cs->c2, true, true); + #ifdef ARCH_X86 + if(art->vendor == CPU_VENDOR_INTEL) { + COL_FANCY_1 = rgb_to_ansi(cs->c1, false, true); + COL_FANCY_2 = rgb_to_ansi(cs->c2, false, true); + } + #endif COL_FANCY_3 = rgb_to_ansi(cs->c3, false, true); COL_FANCY_4 = rgb_to_ansi(cs->c4, false, true); } @@ -303,9 +310,11 @@ struct ascii* set_ascii(VENDOR vendor, STYLE style, struct colors* cs) { } char tmp[NUMBER_OF_LINES * LINE_SIZE + 1]; + art->art_unicode = NULL; + #ifdef ARCH_X86 if(art->vendor == CPU_VENDOR_INTEL) - strcpy(tmp, INTEL_ASCII); + art->art_unicode = art_unicode_intel; else if(art->vendor == CPU_VENDOR_AMD) strcpy(tmp, AMD_ASCII); else @@ -325,8 +334,11 @@ struct ascii* set_ascii(VENDOR vendor, STYLE style, struct colors* cs) { strcpy(tmp, ARM_ASCII); #endif - for(int i=0; i < NUMBER_OF_LINES; i++) - memcpy(art->art[i], tmp + i*LINE_SIZE, LINE_SIZE); + if(art->art_unicode != NULL) { + for(int i=0; i < NUMBER_OF_LINES; i++) { + memcpy(art->art[i], tmp + i*LINE_SIZE, LINE_SIZE); + } + } return art; } @@ -347,24 +359,50 @@ uint32_t longest_attribute_length(struct ascii* art) { #ifdef ARCH_X86 void print_algorithm_intel(struct ascii* art, int n, bool* flag) { - for(int i=0; i < LINE_SIZE; i++) { + *flag = false; + int start = -1; + for(int i=0, newlines=0; newlines < n; i++) { + if(art->art_unicode[i] == '\n') { + newlines++; + start = i; + } + } + for(int i=start+1; art->art_unicode[i] != '\n'; i++) { + /* if(*flag) { - if(art->art[n][i] == ' ') { + if(art->art_unicode[n * LINE_SIZE + i] == ' ') { *flag = false; - printf("%s%c%s", art->color2_ascii, art->ascii_chars[1], art->reset); + printf("%c", ' '); } else { - printf("%s%c%s", art->color1_ascii, art->ascii_chars[0], art->reset); + printf("%c", art->art_unicode[n * LINE_SIZE + i]); + printf("%c", art->art_unicode[n * LINE_SIZE + i + 1]); + printf("%c", art->art_unicode[n * LINE_SIZE + i + 2]); + i += 2; } } else { - if(art->art[n][i] != ' ' && art->art[n][i] != '\0') { + if(art->art_unicode[n * LINE_SIZE + i] != ' ' && art->art_unicode[n * LINE_SIZE + i] != '\n') { *flag = true; - printf("%c",' '); + printf("%c", art->art_unicode[n * LINE_SIZE + i]); + printf("%c", art->art_unicode[n * LINE_SIZE + i + 1]); + printf("%c", art->art_unicode[n * LINE_SIZE + i + 2]); + i += 2; } else { printf("%c",' '); } + }*/ + if(art->art_unicode[i] == ' ') { + printf(" "); + } + else { + printf("%s", art->color1_ascii); + printf("%c", art->art_unicode[i]); + printf("%c", art->art_unicode[i + 1]); + printf("%c", art->art_unicode[i + 2]); + printf("%s", COLOR_RESET); + i += 2; } } }