TIP: Click on subject to list as thread! ANSI
echo: c_plusplus
to: HENRY FAWKES
from: KURT KUZBA
date: 1997-05-03 11:16:00
subject: ANSI`s + LightBars.

HF>   display ansis' in the .BIN file format directly to memory
hf>.....
   This is fairly simple, involving only moving the data to the
screen memory en masse.
//   ANS_BIN.CPP   PUBLIC DOMAIN   by Kurt Kuzba.  (4/29/1997)
//   Demonstration of using binary ANSI images in C++ programs.
//   No warrantee or guarantee is given or implied.
#include 
#include    //   needed for memmove()
class AnsiImage {
public:
   AnsiImage(char*, int, int);
   void display(int, int);
private:
   char *pic;
   int high, wide;
};
AnsiImage::AnsiImage(char *image, int h = 25, int w = 80)
//   Default image size is 80x25 for full screen images
{
   pic = image;
   high = h;
   wide = w;
}
void AnsiImage::display(int left, int top)
{
   short *Dst = (short*)0xb8000000l;
   short *Src = (short*)pic;
   int Ln, bytewidth = wide << 1, incD = 80;
   Dst += ((80 * (--top)) + (--left));
   for(Ln = 0; Ln < high; Ln++)
      memmove(Dst, Src, bytewidth), Dst += incD, Src += wide;
}
char *Sttng(void)
{
   unsigned char *STTNG = {
   " \x0F \x0F.\x0E \x0Fú\x04 \x0F \x0F \x0F.\x0E \x0F \x0F \x0F \x0F"
   "ú\x02 \x0F \x0F \x0F \x0F \x0F \x0Fß\x70ß\x70ß\x70ß\x70ß\x70ß\x70"
   "ß\x70ß\x70ß\x70ß\x70ß\x70ß\x70ß\x70ß\x70ß\x70 \x0F \x0Fú\x0E \x0F"
   " \x0F \x0F \x0F \x0F \x0F \x0F \x0F \x0F \x0F.\x0E \x0F \x0F \x0F"
   " \x0Fú\x0D \x0Fú\x04 \x0F \x0Fß\x70ß\x70ß\x70ß\x70ß\x70ß\x70ß\x70"
   " \x70ú\x7E \x70 \x70 \x70ú\x7E \x70 \x70 \x70 \x70ú\x7E \x70 \x70"
   " \x70ú\x7E \x70 \x70ú\x7E \x70ú\x7Eú\x7E \x70 \x70 \x70:\x7E \x70"
   " \x70 \x70ú\x7Eú\x7E \x70 \x70 \x70 \x70 \x70 \x70ú\x7Eß\x70ß\x70"
   "ß\x70ß\x70ß\x70ß\x70ß\x70 \x0F \x0F \x0FÜ\x70Ü\x70Ü\x70Ü\x70Ü\x70"
   "Ü\x70ú\x7E \x70 \x70ú\x7E \x70ú\x7E:\x7E \x70ú\x7Eú\x7E \x70 \x70"
   " \x70 \x70 \x70á\x73ç\x73à\x73s\x73s\x73:\x7E \x70ú\x7E \x70 \x70"
   "ú\x7Eú\x7E \x70 \x70 \x70 \x70ú\x7E \x70 \x70:\x7E \x70ú\x7Eú\x7E"
   "ú\x7E \x70 \x70 \x70ú\x7EÜ\x70Ü\x70Ü\x70Ü\x70Ü\x70Ü\x70 \x0F \x0F"
   ".\x0E \x0F \x0Fú\x0C \x0F \x0F \x0F \x0Fß\x70Ä\x70Ä\x70Ä\x70Ä\x70"
   "Ä\x70Ä\x70¿\x70 \x70ú\x7E \x70:\x7E \x70ú\x7Eé\x73ç\x73‡\x73h\x73"
   "­\x73ë\x73 \x70 \x70ú\x7E \x70ú\x7Eú\x7E \x70:\x7E \x70Ú\x70Ä\x70"
   "Ä\x70Ä\x70Ä\x70Ä\x70Ä\x70ß\x70 \x0F \x0F \x0F \x0F \x0F \x0Fú\x0C"
   " \x0F \x0Fú\x0Eú\x04 \x0F \x0F \x0F \x0F \x0F.\x0A \x0F \x0FÛ\x09"
   "Û\x09Û\x09Û\x09Û\x09Û\x09Û\x09Þ\x70Ü\x70Ü\x70Ü\x70 \x70:\x7E \x70"
   "ú\x7Eú\x7Eú\x7Eú\x7E \x70 \x70ú\x7Eú\x7Eú\x7Eú\x7E \x70 \x70Ü\x70"
   "Ü\x70Ü\x70Ý\x70Û\x09Û\x09Û\x09Û\x09Û\x09Û\x09Û\x09 \x0F \x0F \x0F"
   "ú\x03 \x0F \x0F \x0F.\x01 \x0F \x0Fú\x0E \x0F \x0Fú\x0D \x0F \x0F"
   " \x0F.\x0E \x0FÜ\x70Ü\x70Ü\x70Ü\x70Ü\x70Ü\x70 \x70Þ\x70ú\x0C \x0F"
   "ú\x03 \x0F.\x0DÜ\x70Ü\x70 \x70ú\x7E \x70ú\x7E \x70 \x70ú\x7EÜ\x70"
   "Ü\x70 \x0F.\x01 \x0Fú\x03 \x0FÝ\x70 \x70Ü\x70Ü\x70Ü\x70Ü\x70Ü\x70"
   "Ü\x70ú\x0C \x0F \x0F \x0F \x0Fú\x0C \x0F \x0Fú\x0E \x0F \x0F \x0F"
   "ú\x03 \x0F.\x01 \x0F \x0F \x0F \x0F \x0Fú\x0E \x0F \x0Fú\x03 \x0F"
   "Ý\x70 \x70 \x0F.\x0E \x0Fú\x04 \x0F.\x01 \x0FÝ\x70Ü\x7CÜ\x7CÜ\x7C"
   "Ü\x7CÜ\x7CÞ\x70ú\x0E.\x0D \x0F \x0Fú\x0C \x0F \x0F \x70Þ\x70 \x0F"
   " \x0Fú\x03 \x0F \x0F \x0F.\x0D \x0Fú\x0E \x0F \x0F \x0F \x0F.\x0E"
   " \x0Fú\x0D \x0C \x0C \x0C \x0C \x0C \x0C \x0C \x0C \x0C \x0C \x0C"
   " \x0C \x0F \x0Fú\x04 \x0FÜ\x70 \x70ß\x70ß\x70ß\x70ß\x70ß\x70ß\x70"
   " \x70 \x70 \x70 \x70 \x70 \x70 \x70ß\x70ß\x70ß\x70ß\x70ß\x70ß\x70"
   " \x70Ü\x70 \x0F \x0F.\x01 \x0F \x0F.\x0E \x0F \x0F \x0F \x0Fú\x04"
   " \x0F \x0F.\x03 \x0F \x0F \x0F"};
   return (char*)STTNG;
}
int main(void)
{
   char a;
   AnsiImage MyPic(Sttng(), 8, 56);
   MyPic.display(10, 3);
   cin >> a;
   return 0;
}
---
> ] Sorry.  I left my taglines in my other offline reader.......
---
---------------
* Origin: *YOPS ]I[* 3.1 GIG * RA/FD/FE RADist * Milwaukee, WI (1:154/750)

SOURCE: echomail via exec-pc

Email questions or comments to sysop@ipingthereforeiam.com
All parts of this website painstakingly hand-crafted in the U.S.A.!
IPTIA BBS/MUD/Terminal/Game Server List, © 2025 IPTIA Consulting™.