Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

xwview14.c bitmap picture viewer program for Linux

7 views
Skip to first unread message

ericmatteson...@hotmail.com

unread,
Dec 5, 2009, 11:16:50 AM12/5/09
to
xwview14.c *.bmp viewer program is next */
// beginning of xwview14.c
#include <stdio.h>
#include <dirent.h>
#include <X11/Xutil.h>
// gcc -Wall xwview14.c -L/usr/X11R6/lib -lX11 -o xwview14.out
// ./xwview14.out
// to compile and run this program
// Use the c key to change colormode.
// This xwview14.c includes a monochrome grey scale
// bitmap file viewer for device independent bitmap files.
// Copyright C 2009 by Eric Matteson
// permission is granted to copy
// this SOURCE CODE file xwview14.c
// and to publish it on the Internet.
// This material may be used at
// least for non profit use.
// This program is not valid without source code.
// Computer users can enforce the open source requirement
// by refusing to use any program that does not have
// source code distributed with it.
// The reccommended proceedure is to distribute this
// program in source code form only and seperately
// compile it on each
// computer that it is to run on.
// ---------------------
// nzlibkey = 0 for doskey 1 for XLookupString
const int nzlibkey = 0;
const int xxsv = 50;
const int xsv = 62;
const int thdimtran = 13;
const int thdimbran = 64;
const int threzero[] = { 5,9,25,50,75,100,125,150,
175,200,225,250,275,300,325,350,
375,400,425,450,475,500,525,550,
575,600,625,650,675,700,725,750,759 };
const int rawsog[] = { 48,48,48,48,
96,100,104,96,
144,149,156,144,
192,202,212,192,
240,246,252,240,
288,292,296,288,
336,340,344,336,
384,388,392,384,
432,436,440,432,
480,484,488,480,
528,532,536,528,
576,580,584,576,
624,628,632,624,
672,676,680,672,
720,724,726,720,
768,768,768,768 };
const int bawlog[] = { 4,4,4,4,
8,8,8,8,
16,16,16,16,
32,32,32,32,
64,64,64,64,
128,128,128,128,
256,256,256,256,
512,532,562,512,
640,670,680,640,
704,704,704,704,
736,736,736,736,
752,752,752,752,
760,760,760,760,
764,764,764,764,
765,765,765,765,
766,766,766,766 };
const int briout[] = { 64,76,88,100,
112,124,136,148,160,172,184,196,
208,220,232,244 };
const int shrinkth[] = { 14,80,140,276,564,662 };
const int sbrinkth[] = { 7,10,14,20,
40,50,70,80,100,120,140,160,250,260,276,290,
400,440,490,564,600,630,662,690,
760,761,762,763 };
const int bigthre[] = { 10,40,60,75,120,180,
250,360,450,550,650,740 };
const int thbigtran[] = {0,1,4,2,5,3,9,
12,10,14,13,11,15 };
const int rgbeight[] = { 55,60,45,70,180,192,160,208 };
const int thsixsev[] = { 0,32,48,112,160,176,240,240 };
const int monothre15[] = { 2,3,4,5,6,7,8,9,
10,11,13,15,18,20,30,40,
50,60,68,75,85,95,108,120,
130,140,150,160,170,180,190,200,
205,210,215,220,230,240,250,275,
300,330,360,450,500,550,600,650,
670,680,690,700,710,719,728,735,
740,744,748,751,754,757,761,764};
const int monoghre60[] = { 4,5,6,7,8,9,10,11,
18,19,20,21,36,38,40,42,56,58,60,62,71,73,75,77,
116,118,120,122,172,174,176,178,244,246,248,250,
356,358,360,362,446,448,450,452,548,550,552,554,
644,650,656,662,738,740,742,744,755,756,758,761 };
const int tengrey[] = { 30,32,34,36,38,40,42,44,
46,48,50,52,54,58,60,63 };
const int bengrey[] = { 18,21,24,27,30,33,36,39,
42,45,48,51,54,57,60,63 };
const int sevbig[] = { 0,0,0,0,0,0,0,1,0,0,1,0,0,0,1,1,
0,1,0,0,0,1,0,1,0,1,1,0,0,1,1,1,
1,0,0,0,1,0,0,1,1,0,1,0,1,0,1,1,
1,1,0,0,1,1,0,1,1,1,1,0,1,1,1,1 };
const int wporand[] = { 128,64,32,16,8,4,2,1,
1,2,4,8,16,32,64,128,
127,191,223,239,247,251,253,254,
254,253,251,247,239,223,191,127 };
const int sixthre[] = { 72,74,76,78,
180,192,204,216,266,288,300,312,
376,384,396,408,468,480,496,504,
564,576,588,600,902,939,917,990,
992,993,994,995 };
// size of bab[] needs to be same as value of bigbuffsize
const int bigbuffsize = 262144;
char bab[262144];
// or and or and or and or and msplane to lsplane
// or and
int table1632oa[32768];
// *** ERROR *** table contents were deleted to get
// this source code file under 190000 bytes for usenet.
// use additional mlfill(int*) subroutine to refill it.
int jxwkeyhold[512];
int iiac[560];
int saveapal[68];
char* caap[25];
char cdrawm[65536];
char cdraw0[65536];
char cdraw1[65536];
char cdraw2[65536];
char cdraw3[65536];
char cdraw4[65536];
char cdraw5[65536];
char cdraw6[65536];
char cerawm[65536];
char ceraw0[65536];
char ceraw1[65536];
char ceraw2[65536];
char ceraw3[65536];
char ceraw4[65536];
char ceraw5[65536];
char ceraw6[65536];
char cgrawm[65536];
char cgraw0[65536];
char cgraw1[65536];
char cgraw2[65536];
char cgraw3[65536];
char cgraw4[65536];
char cgraw5[65536];
char cgraw6[65536];
// cut here
#define raw7size 1048576
char cgraw7[raw7size];
char bar[92160];
char caf[65536];
char can[200];
char prebug[180];
char prebud[180];
char diagaap[16384];
int vgaallow;
int x1,x256,x65536,x65793;
int x16777216,x16777215;
int x128,x127,x8388608,xzmin;
int sbmask,raw7ctr;
int itarget,prevmode,jkeyctr,djkey,rjkey;
int cbmask,scrdepth,scrallow;
int scnum,cwid,cght,sud,ckey,xolop,xilop,xchoose;
int lmoux,lmouy,fourdirpen,seadirallow,seadirlimit;
int xlkount;
int benctr,bendex;
int sendreq,pendreq;
int aprevmode,runmode,falkenx,falkeny;
char sdirch;
DIR* xfourdp;
struct dirent *xfourep;
Display* lpdis;
Window wix;
XEvent report;
XEvent seport;
XSizeHints* rsizehints;
XWMHints* rwmhints;
XClassHint* rclasshints;
Pixmap rempmap;
Pixmap countmap;
Pixmap clearmap;
GC wgc;
GC countgc;
int macount,cmask,jmatog;
// ---------------
void mlfill(int* mlx32768);
int indiv(int unumer,int* dcmps,int densize);
int grpindiv(int gunume,int* grdcmp,int dgensize,
int dremx,int dremy,int dgenlize);
int divmodi(int inumer,int idenom,int nzirem);
int onexwchr(int xwcpos,char xwclist[]);
void speeftex(char* fpsf,char* spsf);
void hswristr(char hsb[],int hsw,int hst,
char bsf[],int hstrw,char hstr[]);
void chrfroms(int chfstart,int chfsize,char xvclist[],
const char* xvslist);
int onexwdig(int xwdpos,char xwdlist[]);
int ixreada(int iarpos,int iarwid,int iarbase,
int nziarnext,char iarlist[]);
int revercram(int rcstart,int rcmany,char revdat[]);
void linuwrn(int lwrnpos,int lwrnwid,int lwrnbase,
char lwrt[],int lwrf);
void uncram(int ucstart,int ucmany,char ucdat[],
int ucfrom);
int ombrlen(int ombrloffset,int ombmaxlen,
char ombuksize[]);
int nzlinedone(int lkbc[],char reekline[]);
int redcst(int llrs,int llrw,int llrbase,
const char* llccs);
int lscale(int lscabc[]);
int lredoffs(int lrosbc[]);
int lctsize(int lctsbc[]);
int lpixperb(int lpixprbc[]);
int lbytespr(int lbprbc[],int nzlbprem);
int lbreadf(int lbreadbc[],char lbrecord[],int lbreadw,
FILE* lbreadh);
int nzreadmbhdr(int nzrhbc[],char nzrhrecord[],
char rhctble[],FILE* nzrhh);
int xwtscroll(int xscbc[],char xscsingle[],
char xscgroup[]);
void getpine(int gpbc[],char gprec[],char gpct[],
char gpbig[],FILE* gph);
int putpine(char** iirplane,int irplane[],
int vpthresh[],char vpbig[]);
int onebumpw(char** ijplane,int onbbc[],
char ombrecord[],char ombgbig[]);
int twobumpw(char** tjple,int tmbc[],char tmbr[],
char tbig[],char tbf[]);
int twobuz(char** zpl,int zbc[],char zrc[],char zb[],
char zf[],char zn[]);
int fourbump(char** aap,int ac[],char ar[],char ab[],
char af[],char an[]);
char twofromten(int rawenine);
void fonthfill(char fhf[]);
void ilinemake(int* iixt,char* xxdd);
void iktmany(int* imxt);
int nzextcmp(char* uncfn,char* ecright);
int iidoskey(int kkll,int kshiftb,int ixkeyhold[],
const char* klinuxcm);
void onewrt31(int zur31,int maxwid31,int sx31,
int sy31,int ich31);
// int gcbw(int gcdepth,int gca);
void jetgc(Window wigc,GC* wrgc,int gsdepth,int zbnzw);
// *wrgc will have to be freed later
Window makexw(XSizeHints* sizehints,XWMHints* wmhints,
XClassHint* classhints);
// ----------------------------
int main(int argd,char** argsa)
{
int zandtogm;
char* argufn;
char* adn = NULL;
argufn = NULL;
mlfill(table1632oa);
lmoux=131071;
lmouy=131071;
vgaallow=0;
sendreq=0;
fourdirpen=0;
jmatog=1;
sud=0;
while(sud < 200)
{
can[sud]='\40';
sud=sud+1;
}
// reclear depth = 1
// sud=(int)argufn;
// linuwrn(2,8,16,can,sud);
// can[53]='\15';
// can[54]='\12';
// 155 terminal diagnostic 156
// fwrite(can,1,80,stdout);
caap[0] = &cdrawm[0];
caap[1] = &cdraw0[0];
caap[2] = &cdraw1[0];
caap[3] = &cdraw2[0];
caap[4] = &cdraw3[0];
caap[5] = &cdraw4[0];
caap[6] = &cdraw5[0];
caap[7] = &cdraw6[0];
caap[8] = &cerawm[0];
caap[9] = &ceraw0[0];
caap[10] = &ceraw1[0];
caap[11] = &ceraw2[0];
caap[12] = &ceraw3[0];
caap[13] = &ceraw4[0];
caap[14] = &ceraw5[0];
caap[15] = &ceraw6[0];
caap[16] = &cgrawm[0];
caap[17] = &cgraw0[0];
caap[18] = &cgraw1[0];
caap[19] = &cgraw2[0];
caap[20] = &cgraw3[0];
caap[21] = &cgraw4[0];
caap[22] = &cgraw5[0];
caap[23] = &cgraw6[0];
caap[24] = &cgraw7[0];
sud=0;
while(sud < 200)
{
can[sud]='\40';
sud=sud+1;
}
// reclear depth = 1
sud=41;
while(sud < 360)
{
iiac[sud]=0;
sud=sud+1;
}
if(argd == 2)
{
argufn = *(argsa + 1);
xilop=0;
sud=ombrlen(0,0,argufn);
if((sud > 4)&&(sud < 40))
{
while(xilop < sud)
{
can[160+xilop] = *(argufn + xilop);
can[120+xilop] = *(argufn + xilop);
// depth = 4
can[80+xilop] = *(argufn + xilop);
can[40+xilop] = *(argufn + xilop);
can[xilop] = *(argufn + xilop);
xilop=xilop+1;
}
iiac[45]=1;
iiac[44]=1;
}
}
lpdis = XOpenDisplay(adn);
scnum=DefaultScreen(lpdis);
scrdepth=DefaultDepth(lpdis,scnum);
falkenx=608;
falkeny=378;
iiac[7]=falkenx;
iiac[29]=falkeny;
iiac[26]=0;
saveapal[6]=0;
saveapal[7]=42;
saveapal[2]=21;
saveapal[3]=63;
saveapal[0]=(saveapal[6]+saveapal[2]) >> 1;
saveapal[1]=(saveapal[7]+saveapal[3]) >> 1;
benctr=0;
bendex=0;
iiac[30]=11829;
iiac[25]=0;
iiac[28]=5;
iiac[34]=160;
iiac[32]=scrdepth;
sud=0;
iktmany(jxwkeyhold);
wix = makexw(rsizehints,rwmhints,rclasshints);
XSetWMProperties(lpdis,wix,0,0,argsa,argd,rsizehints,
rwmhints,rclasshints);
// getgc(wix,&bgc,scrdepth,0);
// getgc(wix,&wgc,scrdepth,1);
// getgc(wix,&agc,scrdepth,20+5);
// getgc(wix,&xgc,scrdepth,17+9);
// getgc(wix,&ygc,scrdepth,18+9);
// getgc(wix,&zgc,scrdepth,19+9);
// depth = 1
// getgc(wix,&fgc,scrdepth,29);
// getgc(wix,&ggc,scrdepth,30);
// getgc(wix,&hgc,scrdepth,31);
// getgc(wix,&igc,scrdepth,32);
XMapWindow(lpdis,wix);
iiac[26]=0;
iiac[27]=262143;
xilop=fourbump(caap,iiac,bar,bab,caf,can);
xolop=0;
while(xolop == 0)
{
if(XCheckMaskEvent(lpdis,sbmask,&report)!=0)
{
if((report.type == KeyRelease)&&(nzlibkey == 0))
{
if((int)report.xkey.keycode==xxsv)sud=0;
if((int)report.xkey.keycode==xsv)sud=0;
}
if(report.type == KeyPress)
{
zandtogm=1;
if((int)report.xkey.keycode==xxsv)zandtogm=0;
if((int)report.xkey.keycode==xsv)zandtogm=0;
if(nzlibkey > 0)zandtogm=1;
if(zandtogm == 0)sud=1;
if(zandtogm == 1)
{
// xilop == 0 for normal
xilop=0;
// infinite loop with no key ckey=1048576;
rjkey=1048576;
xlkount=0-1;
// depth = 5
if(nzlibkey == 0)
{
ckey=report.xkey.keycode;
rjkey=iidoskey(ckey,sud,jxwkeyhold,"x?");
iiac[26]=rjkey;
iiac[27]=ckey;
// depth=6;
sendreq=1;
}
}
// end of inner key
// depth = 4
}
// end of key
if((report.type == ButtonPress)&&(jmatog == 0))
{
iiac[26]=44;
iiac[27]=1048576;
sendreq=1;
}
// depth = 3
if(report.type==Expose)
{
scrallow=0;
pendreq=0;
raw7ctr=raw7size-1;
while(raw7ctr >= 0)
{
*(*(caap+24)+raw7ctr)=(char)0;
raw7ctr=raw7ctr-1;
}
if(scrdepth == 24)
{
scrallow=1;
x1=1;
x256=256;
x65536=65536;
x65793=x1+x256+x65536;
x16777216=x256*x65536;
x16777215=x16777216-1;
x128=x256>>1;
x127=x128-x1;
x8388608 = x128 * x65536;
xzmin=0;
}
if(scrdepth == 16)
{
scrallow=1;
x1=1;
x256=32*x1;
x65536=64*x256;
x65793=x1+x256+x65536;
x16777216=x256*x65536;
x16777215=x16777216-1;
x128=(x256 >> 1);
x127=(x256 >> 1)-x1;
x127 = x127 & 4095;
x8388608 = x128 * x65536;
xzmin=3;
}
// Unable to test scrdepth == 32
// if(scrdepth == 32)
// {
// scrallow=1;
// x1=8;
// x256=1024;
// x65536=2048*1024;
// x65793=x1+x256+x65536;
// x16777216=x256*x65536;
// x16777215=x16777216-1;
// x128 = x256 >> 1;
// x127 = x128 - x1;
// x8388608 = x128 * x65536;
// xzmin=0;
// }
// ---------------------------
if(vgaallow == 0)scrallow=0;
if(report.xexpose.width > 784)scrallow=0;
if(report.xexpose.height > 592)scrallow=0;
if((scrallow == 1)&&((iiac[6]) > 7))iiac[6]=7;
// ..........................................
if((report.xexpose.count==0)&&(scrallow == 0))
{
// ---------------- common top
iiac[7]=report.xexpose.width;
// iiac[7]=((iiac[7]+7)>>3)<<3;
iiac[29]=report.xexpose.height;
xilop=0;
if(xilop == 0)xilop=fourbump(caap,iiac,bar,bab,caf,can);
if((iiac[30]) == 11832)xolop = 1;
// high speed print to screen top monochrome high speed 2
jetgc(wix,&wgc,scrdepth,
WhitePixel(lpdis,scnum));
rempmap = XCreatePixmap(lpdis,wix,(iiac[7]),(iiac[29]),
scrdepth);
jetgc(wix,&countgc,scrdepth,
WhitePixel(lpdis,scnum));
clearmap = XCreatePixmapFromBitmapData(lpdis,wix,
(*(caap+24)),
(iiac[7]),(iiac[29]),
WhitePixel(lpdis,scnum),
0,scrdepth);
XCopyArea(lpdis,clearmap,rempmap,countgc,0,0,(iiac[7]),
(iiac[29]),0,0);
XFreePixmap(lpdis,clearmap);
XFreeGC(lpdis,countgc);
// bottom of common area
XCopyArea(lpdis,rempmap,wix,wgc,0,0,(iiac[7]),
(iiac[29]),0,0);
XFreePixmap(lpdis,rempmap);
XFreeGC(lpdis,wgc);
iiac[26]=0;
iiac[27]=262143;
}
// ...........................................
if((report.xexpose.count==0)&&(scrallow == 1))
{
// ---------------- common top
iiac[7]=report.xexpose.width;
// iiac[7]=((iiac[7]+7)>>3)<<3;
iiac[29]=report.xexpose.height;
xilop=0;
if(xilop == 0)xilop=fourbump(caap,iiac,bar,bab,caf,can);
if((iiac[30]) == 11832)xolop = 1;
// high speed print to screen top monochrome high speed 2
jetgc(wix,&wgc,scrdepth,
WhitePixel(lpdis,scnum));
rempmap = XCreatePixmap(lpdis,wix,(iiac[7]),(iiac[29]),
scrdepth);
jetgc(wix,&countgc,scrdepth,
WhitePixel(lpdis,scnum));
clearmap = XCreatePixmapFromBitmapData(lpdis,wix,
(*(caap+24)),
(iiac[7]),(iiac[29]),
WhitePixel(lpdis,scnum),
0,scrdepth);
XCopyArea(lpdis,clearmap,rempmap,countgc,0,0,(iiac[7]),
(iiac[29]),0,0);
XFreePixmap(lpdis,clearmap);
XFreeGC(lpdis,countgc);
// bottom of common area
if((iiac[6]) <= 1)
{
// make alias for wgc unknown name
jetgc(wix,&countgc,scrdepth,x16777215);
countmap = XCreatePixmapFromBitmapData(lpdis,wix,
(*(caap+7)),
(iiac[7]),(iiac[29]),x16777215,
0,scrdepth);
XCopyArea(lpdis,countmap,rempmap,countgc,0,0,(iiac[7]),
(iiac[29]),0,0);
XFreePixmap(lpdis,countmap);
XFreeGC(lpdis,countgc);
}
// ------------------------------------------------
if(((iiac[6]) >= 2)&&((iiac[6]) <= 3))
{
macount=7;
cmask=x65793 * x127;
jetgc(wix,&countgc,scrdepth,cmask);
countmap = XCreatePixmapFromBitmapData(lpdis,wix,
(*(caap+macount)),(iiac[7]),(iiac[29]),x16777215,
0,scrdepth);
XCopyArea(lpdis,countmap,rempmap,countgc,0,0,(iiac[7]),
(iiac[29]),0,0);
XFreePixmap(lpdis,countmap);
XFreeGC(lpdis,countgc);
macount=6;
cmask=x65536*x128;
jetgc(wix,&countgc,scrdepth,cmask);
countmap = XCreatePixmapFromBitmapData(lpdis,wix,
(*(caap+macount)),(iiac[7]),(iiac[29]),x16777215,
0,scrdepth);
XCopyArea(lpdis,countmap,rempmap,countgc,0,0,(iiac[7]),
(iiac[29]),0,0);
XFreePixmap(lpdis,countmap);
XFreeGC(lpdis,countgc);
macount=5;
cmask=x256*x128;
jetgc(wix,&countgc,scrdepth,cmask);
countmap = XCreatePixmapFromBitmapData(lpdis,wix,
(*(caap+macount)),(iiac[7]),(iiac[29]),x16777215,
0,scrdepth);
XCopyArea(lpdis,countmap,rempmap,countgc,0,0,(iiac[7]),
(iiac[29]),0,0);
XFreePixmap(lpdis,countmap);
XFreeGC(lpdis,countgc);
macount=4;
cmask=x128;
jetgc(wix,&countgc,scrdepth,cmask);
countmap = XCreatePixmapFromBitmapData(lpdis,wix,
(*(caap+macount)),(iiac[7]),(iiac[29]),x16777215,
0,scrdepth);
XCopyArea(lpdis,countmap,rempmap,countgc,0,0,(iiac[7]),
(iiac[29]),0,0);
XFreePixmap(lpdis,countmap);
XFreeGC(lpdis,countgc);
}
if((((iiac[6]) >= 4)&&((iiac[6]) <= 5))||((iiac[6]) == 7))
{
macount=7;
cmask=x65793 * x128;
while(macount >= xzmin)
{
// create GC countgc
if((macount == xzmin)&&((iiac[6]) == 4))cmask=x65793*15;
if(scrdepth == 16)
{
if((macount == xzmin)&&((iiac[6]) == 7))cmask=x65793*3;
}
jetgc(wix,&countgc,scrdepth,cmask);
countmap = XCreatePixmapFromBitmapData(lpdis,wix,
(*(caap+macount)),(iiac[7]),(iiac[29]),x16777215,
0,scrdepth);
XCopyArea(lpdis,countmap,rempmap,countgc,0,0,(iiac[7]),
(iiac[29]),0,0);
XFreePixmap(lpdis,countmap);
XFreeGC(lpdis,countgc);
cmask=cmask>>1;
macount=macount-1;
if((macount == 3)&&((iiac[6]) == 4))macount=0;
if(scrdepth == 16)
{
if((macount == 3)&&((iiac[6]) == 7))macount=0;
}
}
}
if((iiac[6]) == 6)
{
macount=23;
cmask=x8388608;
while(macount >= xzmin)
{
jetgc(wix,&countgc,scrdepth,cmask);
countmap = XCreatePixmapFromBitmapData(lpdis,wix,
(*(caap+macount)),(iiac[7]),(iiac[29]),x16777215,
0,scrdepth);
XCopyArea(lpdis,countmap,rempmap,countgc,0,0,(iiac[7]),
(iiac[29]),0,0);
XFreePixmap(lpdis,countmap);
XFreeGC(lpdis,countgc);
cmask=cmask>>1;
if(scrdepth == 16)
{
if((macount == 19)||(macount == 11))
{
// Not in 16-bits cmask=cmask>>3;
macount=macount-3;
if(macount == 11)
{
// cmask=cmask>>1;
}
}
}
macount=macount-1;
}
}
// ---------------------------
XCopyArea(lpdis,rempmap,wix,wgc,0,0,(iiac[7]),
(iiac[29]),0,0);
// depth = 4
XFreePixmap(lpdis,rempmap);
XFreeGC(lpdis,wgc);
iiac[26]=0;
iiac[27]=262143;
}
sendreq=0+pendreq;
}
// depth = 3
// after Expose Event
if(report.type == ConfigureNotify)
{
iiac[7]=report.xconfigure.width;
// iiac[7]=((iiac[7]+7)>>3)<<3;
iiac[29]=report.xconfigure.height;
iiac[26]=0;
iiac[27]=262143;
sendreq=1;
// after event type
}
// depth = 3
// iiac[359]=iiac[359]+1;
}
// after if event mask
// depth = 2
if(sendreq==1)
{
seport.type=Expose;
seport.xexpose.type=Expose;
seport.xexpose.send_event=0;
seport.xexpose.display=lpdis;
seport.xexpose.window=wix;
seport.xexpose.x=0;
seport.xexpose.y=0;
seport.xexpose.width=iiac[7];
seport.xexpose.height=iiac[29];
sendreq=0;
XSendEvent(lpdis,wix,1,ExposureMask,&seport);
}
// after sendreq
// depth = 2
// if(iiac[359] > 2)xolop=1;
}
// after while
// depth = 1
// XFreeGC(lpdis,igc);
// XFreeGC(lpdis,hgc);
// XFreeGC(lpdis,ggc);
// XFreeGC(lpdis,fgc);
// XFreeGC(lpdis,zgc);
// XFreeGC(lpdis,ygc);
// XFreeGC(lpdis,xgc);
// XFreeGC(lpdis,agc);
// XFreeGC(lpdis,wgc);
// XFreeGC(lpdis,bgc);
return 0;
}
// depth = 0
// end of main
// -------------- 583
void mlfill(int* mlx32768)
{
// previous table was 8*256*16 where 256*16 was
// or and or and or and or and or and or and
// or and or and
// with each or and pair operating on one bitplane
// for that 0-255 data value entry.
// eight 4096 number tables are shifted left or and
// values after finishing 0-255 before repeating with
// new or and values shifted left for next remainder
// of x coordinate 0-7 backwards bits within byte
// for Linux XWindows.
int mlfc8,mlfc256,mlfc16,mldata,mlrem,mlwrtsub;
int mlpal[4];
// mlpal[4]={ 0,(-1 - OR),OR,-1 };
mlpal[0]=0;
mlpal[3]=0-1;
mlpal[2]=1;
mlwrtsub=0;
mlfc8=0;
while(mlfc8 < 8)
{
mldata=mlpal[3]-mlpal[2];
// if(mldata < (0-128))mldata=127;
mlpal[1]=mldata;
mlfc256=0;
while(mlfc256 < 256)
{
mldata=mlfc256;
mlfc16=0;
while(mlfc16 < 8)
{
mlrem=0;
mldata=mldata+mldata;
if(mldata > 255)
{
mlrem=2;
mldata=mldata-256;
}
*(mlx32768 + mlwrtsub) = mlpal[0 + mlrem];
*(mlx32768+mlwrtsub+1) = mlpal[1 + mlrem];
mlwrtsub=mlwrtsub+2;
mlfc16=mlfc16+1;
}
mlfc256=mlfc256+1;
}
mlpal[2]=mlpal[2]+mlpal[2];
if(mlpal[2] > 127)mlpal[2]=mlpal[2]-256;
mlfc8=mlfc8+1;
}
}
// end of mlfill
int indiv(int unumer,int* dcmps,int densize)
{
int indrf,denmask;
// indiv is implied indirect divison
// assume densize is power of two and dcmps
// is sorted compares in ascending order
// and maximum unumer generates result of
// densize-1
// dcmps and densize together create implied
// indirect denominator
denmask=densize >> 1 ;
indrf=0;
while(denmask > 0)
{
indrf=indrf+denmask;
if(unumer < *(dcmps +(indrf-1)))
{
indrf=indrf-denmask;
}
denmask=denmask >> 1;
}
return indrf;
}
int grpindiv(int gunume,int* grdcmp,int dgensize,
int dremx,int dremy,int dgenlize)
{
int indrgf,dgenmask,dgcinda,dgendallow,dgenbize;
dgenbize=dgenlize<<2;
dgenmask=(dgensize >> 1)<<2;
dgendallow=1;
dgcinda=(dremx&1)<<1;
dgcinda=dgcinda+(dremy&1);
dgcinda=dgcinda-4;
indrgf=0;
while(dgendallow > 0)
{
// if((indrgf+dgenmask) >= dgenbize)dgendallow=0;
// if(dgendallow > 0)
// {
indrgf=indrgf+dgenmask;
if(gunume < *(grdcmp+(indrgf+dgcinda)))
{
indrgf=indrgf-dgenmask;
}
dgenmask=dgenmask >> 1;
if(dgenmask < 4)dgendallow=0;
// }
}
indrgf=indrgf >> 2;
return indrgf;
}
void speeftex(char* fpsf,char* spsf)
{
int exfolct,exfilct,exfleft,exfright;
int exfwrsub;
exfolct=0;
while(exfolct < 4096)
{
exfilct=0;
exfleft=1023;
exfright=(int)(*(spsf + exfolct));
if(exfright < 0)exfright=exfright+256;
exfright=255-exfright;
while(exfilct < 16)
{
exfwrsub=(exfolct*16)+exfilct;
*(fpsf+exfwrsub)=(char)exfleft;
exfwrsub=exfwrsub+1;
*(fpsf+exfwrsub)=(char)exfright;
exfright=exfright+exfright+1;
exfleft=exfleft+exfleft;
if(exfright > 255)
{
exfright=exfright-256;
exfleft=exfleft+1;
}
exfilct=exfilct+2;
}
exfolct=exfolct+1;
}
}
// end of speeftex
// int gcbw(int gcdepth,int gca)
// {
// int gcbr;
// gca is 0 12 14 15
// colors black darkgrey grey white
// gca is 4 2 1 R B G
// large plane masks 16 allplanes
// gca is 5 6 7 8 9 monochrome 10 remainder
// gcbr=0;
// if(gcdepth == 2)
// {
// if(gca == 0)gcbr=0;
// if(gca == 1)gcbr=1;
// if(gca == 2)gcbr=1;
// if(gca == 4)gcbr=1;
// if(gca == 12)gcbr=0;
// if(gca == 14)gcbr=1;
// if(gca == 15)gcbr=1;
// if(gca == 16)gcbr=1;
// }
// if(gcdepth == 4)
// {
// if(gca == 0)gcbr=0;
// if(gca == 1)gcbr=1;
// if(gca == 2)gcbr=2;
// if(gca == 4)gcbr=4;
// if(gca == 12)gcbr=0;
// if(gca == 14)gcbr=7;
// if(gca == 15)gcbr=15;
// if(gca == 16)gcbr=16;
// }
// if(gcdepth == 8)
// {
// if(gca == 0)gcbr=0;
// if(gca == 1)gcbr=2;
// if(gca == 2)gcbr=20;
// if(gca == 4)gcbr=160;
// if(gca == 12)gcbr=0;
// if(gca == 14)gcbr=73;
// if(gca == 15)gcbr=255;
// if(gca == 16)gcbr=255;
// }
// if(gcdepth == 24)
// {
// if((gca >= 1)&&(gca <= 4))
// {
// gcbr=65793*redcst(1,8,2,"00111100");
// }
// if(gca == 1)gcbr=gcbr+redcst(1,8,2,"01000010");
// if(gca == 2)gcbr=gcbr+(256 * redcst(1,8,2,"01000010"));
// if(gca == 4)gcbr=gcbr+(65536*redcst(1,8,2,"01000010"));
// if(gca == 0)gcbr=0;
// if(gca == 12)gcbr=4144959;
// if(gca == 12)gcbr=3947580;
// if(gca == 12)gcbr=0;
// if(gca == 14)gcbr=8355711;
// 14 to 65793 * (127 or 126)
// if(gca == 14)gcbr=65793 * redcst(1,8,2,"10000001");
// if(gca == 15)gcbr=16777215;
// if(gca == 16)gcbr=16777215;
// if(gca == 5)gcbr=65793*redcst(1,8,2,"10000000");
// if(gca == 6)gcbr=65793*redcst(1,8,2,"01000000");
// if(gca == 7)gcbr=65793*redcst(1,8,2,"00100000");
// if(gca == 8)gcbr=65793*redcst(1,8,2,"00010000");
// if(gca == 9)gcbr=65793*redcst(1,8,2,"00001000");
// if(gca == 10)gcbr=65793*redcst(1,8,2,"00000100");
// if(gca == 11)gcbr=65793*redcst(1,8,2,"00000010");
// if(gca == 22)gcbr=65793*redcst(1,8,2,"00000001");
// }
// if(gcdepth == 32)
// {
// gcbr=0;
// if((gca >= 1)&&(gca <= 4))
// {
// gcbr=2097152+1024;
// gcbr=gcbr*redcst(1,11,2,"00111111100");
// gcbr=gcbr+redcst(1,10,2,"0011111100");
// }
// if(gca == 1)gcbr=gcbr+redcst(1,10,2,"0100000010");
// if(gca == 2)gcbr=gcbr+(1024 * redcst(1,11,2,
// "01000000010"));
// if(gca == 4)gcbr=gcbr+(2097152 * redcst(1,11,2,
// "01000000010"));
// if(gca == 0)gcbr=0;
// if(gca == 12)gcbr=0;
// if(gca == 14)
// {
// gcbr=2097152+1024;
// gcbr=gcbr*redcst(1,11,2,"10000000001");
// gcbr=gcbr+redcst(1,10,2,"1000000001");
// }
// if(gca == 15)gcbr=0-1;
// if(gca == 16)gcbr=0-1;
// }
// return gcbr;
// }
void jetgc(Window wigc,GC* wrgc,int gsdepth,int azbnzw)
{
unsigned long vgcmask=0;
XGCValues vgcvalues;
int zbnzw;
unsigned int gclw=1;
int linestyle=LineSolid;
int capstyle=CapRound;
int joinstyle=JoinRound;
int fillstyle=FillSolid;
zbnzw=azbnzw;
*wrgc=XCreateGC(lpdis,wigc,vgcmask,&vgcvalues);
XSetLineAttributes(lpdis,*wrgc,gclw,linestyle,capstyle,
joinstyle);
XSetBackground(lpdis,*wrgc,BlackPixel(lpdis,scnum));
XSetForeground(lpdis,*wrgc,WhitePixel(lpdis,scnum));
XSetFillStyle(lpdis,*wrgc,fillstyle);
XSetPlaneMask(lpdis,*wrgc,zbnzw);
// -------------------------------------------------------
}
// end of jetgc(Window,GC*,int,int);
Window makexw(XSizeHints* sizehints,XWMHints* wmhints,
XClassHint* classhints)
{
// move to top int sbmask;
Window trix;
trix=XCreateSimpleWindow(lpdis,RootWindow(lpdis,scnum),
0,0,falkenx,falkeny,4,
BlackPixel(lpdis,scnum),WhitePixel(lpdis,scnum));
sud=0;
sizehints = XAllocSizeHints();
wmhints = XAllocWMHints();
classhints = XAllocClassHint();
(*(wmhints)).initial_state=NormalState;
(*(wmhints)).input = True;
(*(wmhints)).icon_pixmap = 0;
(*(wmhints)).flags = StateHint | InputHint ;
(*(classhints)).res_name = 0;
(*(classhints)).res_class = "Basicwin";
(*(sizehints)).flags = PPosition | PSize | PMinSize ;
(*(sizehints)).min_width = 592;
(*(sizehints)).min_height = 334;
sbmask = 0;
sbmask = sbmask | KeyPressMask;
sbmask = sbmask | KeyReleaseMask;
sbmask = sbmask | ExposureMask;
sbmask = sbmask | StructureNotifyMask;
sbmask = sbmask | ButtonPressMask;
XSelectInput(lpdis,trix,sbmask);
return trix;
// is trix a temporary variable or structure?
}
// ------------- bottom of windowmake
void ilinemake(int* iixt,char* xxdd)
{
int xsspos,xssmany,xssbase,xssctr,xsssub,xsstw;
int xssterm,xtssub;
// xsspos 999 xssbase-1 F xssmany 99 xsstw 9
// 9 f 5
xsspos=redcst(1,3,10,xxdd);
xssbase=redcst(4,1,16,xxdd);
xssmany=redcst(5,2,10,xxdd);
xssctr=0;
if((xssbase == 9)||(xssbase == 15))
{
xsstw = redcst(7,1,16,xxdd);
while(xssctr < xssmany)
{
xsssub = (xssctr * xsstw) + 8;
xtssub = xssctr + xsspos;
xssterm = redcst(xsssub,xsstw,(xssbase + 1),xxdd);
*(iixt + xtssub) = xssterm;
xssctr=xssctr+1;
}
}
if(xssbase == 5)
{
while(xssctr < xssmany)
{
xsssub = xssctr + 6;
xtssub = xssctr + xsspos;
xssterm = (int)(*(xxdd + xsssub));
*(iixt + xtssub)=xssterm;
xssctr = xssctr+1;
}
}
}
void iktmany(int* imxt)
{
int iktmanyctr;
iktmanyctr=0;
while(iktmanyctr < 512)
{
*(imxt + iktmanyctr)=131065;
iktmanyctr=iktmanyctr+1;
}
// -------------------------------------------
ilinemake(imxt,"079F0423738392D");
ilinemake(imxt,"083F0423435362B");
ilinemake(imxt,"087F052313233302E");
ilinemake(imxt,"097F04324724824924B");
ilinemake(imxt,"102F06324D24F250251252253");
// -------------------------------------------
ilinemake(imxt,"063F0122A");
ilinemake(imxt,"112F0122F");
ilinemake(imxt,"050F01210");
ilinemake(imxt,"062901216");
ilinemake(imxt,"022F01208");
ilinemake(imxt,"009F0121B");
ilinemake(imxt,"023F01209");
// --
ilinemake(imxt,"0105101234567890");
ilinemake(imxt,"024510qwertyuiop");
ilinemake(imxt,"038509asdfghjkl");
ilinemake(imxt,"052507zxcvbnm");
// --
ilinemake(imxt,"0369013013");
ilinemake(imxt,"108F0120D");
ilinemake(imxt,"0659013032");
ilinemake(imxt,"020F0222D3D");
ilinemake(imxt,"051F0125C");
ilinemake(imxt,"034F0225B5D");
ilinemake(imxt,"047F0223B27");
ilinemake(imxt,"059F0322C2E2F");
ilinemake(imxt,"049F01260");
// ----------------------------------------------------
ilinemake(imxt,"305F0127E");
ilinemake(imxt,"2669103033064035036037094038042040041");
ilinemake(imxt,"280510QWERTYUIOP");
ilinemake(imxt,"294509ASDFGHJKL");
ilinemake(imxt,"308507ZXCVBNM");
// -------------
ilinemake(imxt,"276F0225F2B");
ilinemake(imxt,"307F0127C");
ilinemake(imxt,"290F0227B7D");
ilinemake(imxt,"303F0223A22");
ilinemake(imxt,"315F0323C3E3F");
// --
}
// LINUX KEYBOARD TRANSLATOR TOP
// lreadc redcst
// need xxkeyhold next
int iidoskey(int kkll,int kshiftb,int ixkeyhold[],
const char* klinuxcm)
{
int klinuxmm,zandtogi;
int lidoskrs,lidoslr;
int wasdkeyused;
// x=120 v=118
char clinuxcm;
clinuxcm = *klinuxcm;
klinuxmm = (int)clinuxcm;
lidoskrs=131072;
wasdkeyused=0;
if(klinuxmm == 120)
{
lidoslr = kkll;
if((lidoslr >= 0)&&(lidoslr < 256))
{
if(kshiftb == 1)lidoslr=kkll+256;
lidoskrs = ixkeyhold[lidoslr];
wasdkeyused=1;
}
}
if(klinuxmm == 118)
{
// klinuxcm == "v" for int vga_getkey() within <vga.h>
zandtogi=1;
if(kkll < redcst(1,2,16,"00"))zandtogi=0;
if(kkll > redcst(1,2,16,"7E"))zandtogi=0;
if(zandtogi == 1)
{
lidoskrs=kkll;
}
if(kkll == redcst(1,2,16,"7F"))lidoskrs=8;
// -----------------------------------------------------
if(kkll == redcst(1,8,16,"1B5B317E"))lidoskrs=512+71;
if(kkll == redcst(1,8,16,"001B5B41"))lidoskrs=512+72;
if(kkll == redcst(1,8,16,"1B5B357E"))lidoskrs=512+73;
if(kkll == redcst(1,8,16,"001B5B44"))lidoskrs=512+75;
if(kkll == redcst(1,8,16,"001B5B43"))lidoskrs=512+77;
if(kkll == redcst(1,8,16,"1B5B347E"))lidoskrs=512+79;
if(kkll == redcst(1,8,16,"001B5B42"))lidoskrs=512+80;
if(kkll == redcst(1,8,16,"1B5B367E"))lidoskrs=512+81;
if(kkll == redcst(1,8,16,"1B5B327E"))lidoskrs=512+82;
if(kkll == redcst(1,8,16,"1B5B337E"))lidoskrs=512+83;
// -----------------------------------------------------
wasdkeyused=1;
}
if(wasdkeyused == 0)lidoskrs=klinuxmm;
return lidoskrs;
}
// end of int iidoskey(int,int,int[],const char*)
// ------------------------------------------------------
void onewrt01(int zur21,int maxwid21,int sx21,
int sy21,int ich21)
{
int syprod21,syrem21,syfrac21,dsub21;
int iich21;
char *where21;
int oa84[] = {0,127,-128,-1,
0,-65,64,-1,
0,-33,32,-1,
0,-17,16,-1,
0,-9,8,-1,
0,-5,4,-1,
0,-3,2,-1,
0,-2,1,-1};
iich21 = ich21 & 1;
syprod21=((((maxwid21+7)>>3)<<3)*sy21)+sx21;
syrem21=syprod21 & 7;
syfrac21=syprod21 >> 3;
where21 = (*(caap+zur21))+syfrac21;
dsub21=((7-syrem21) << 2)+iich21+iich21;
// groups of four by syrem21 position
// groups of two by ich21 0,1
// or and
if((syfrac21 >= 0)&&(syfrac21 < raw7size))
{
*where21 = *where21 | (char)oa84[dsub21];
*where21 = *where21 & (char)oa84[dsub21+1];
}
}
void onewrt31(int zur31,int maxwid31,int sx31,
int sy31,int ich31)
{
int syprod31,syrem31,syfrac31,sxfoline;
char* oi31[8];
syprod31=((((maxwid31+7)>>3)<<3)*sy31)+sx31;
syrem31=syprod31 & 7;
syfrac31=syprod31 >> 3;
// sxfoline=(syrem31*4096)+(ich31*16);
sxfoline=(syrem31<<12)+(ich31<<4);
if((syfrac31>=0)&&(syfrac31<=65535))
{
oi31[0]=(*(caap+(7+zur31)))+syfrac31;
oi31[1]=(*(caap+(6+zur31)))+syfrac31;
oi31[2]=(*(caap+(5+zur31)))+syfrac31;
oi31[3]=(*(caap+(4+zur31)))+syfrac31;
oi31[4]=(*(caap+(3+zur31)))+syfrac31;
oi31[5]=(*(caap+(2+zur31)))+syfrac31;
oi31[6]=(*(caap+(1+zur31)))+syfrac31;
oi31[7]=(*(caap+(0+zur31)))+syfrac31;
*(oi31[0])=(*(oi31[0]))|(char)table1632oa[sxfoline+0];
*(oi31[0])=(*(oi31[0]))&(char)table1632oa[sxfoline+1];
*(oi31[1])=(*(oi31[1]))|(char)table1632oa[sxfoline+2];
*(oi31[1])=(*(oi31[1]))&(char)table1632oa[sxfoline+3];
*(oi31[2])=(*(oi31[2]))|(char)table1632oa[sxfoline+4];
*(oi31[2])=(*(oi31[2]))&(char)table1632oa[sxfoline+5];
*(oi31[3])=(*(oi31[3]))|(char)table1632oa[sxfoline+6];
*(oi31[3])=(*(oi31[3]))&(char)table1632oa[sxfoline+7];
*(oi31[4])=(*(oi31[4]))|(char)table1632oa[sxfoline+8];
*(oi31[4])=(*(oi31[4]))&(char)table1632oa[sxfoline+9];
*(oi31[5])=(*(oi31[5]))|(char)table1632oa[sxfoline+10];
*(oi31[5])=(*(oi31[5]))&(char)table1632oa[sxfoline+11];
*(oi31[6])=(*(oi31[6]))|(char)table1632oa[sxfoline+12];
*(oi31[6])=(*(oi31[6]))&(char)table1632oa[sxfoline+13];
*(oi31[7])=(*(oi31[7]))|(char)table1632oa[sxfoline+14];
*(oi31[7])=(*(oi31[7]))&(char)table1632oa[sxfoline+15];
}
}
// end of onewrt31
// 32 bit integer subroutines for Linux
int divmodi(int inumer,int idenom,int nzirem)
{
int idmres,ifrac,irem,iprod;
irem=0-2;
ifrac=inumer / idenom;
while(irem < 0)
{
iprod=ifrac * idenom;
irem = inumer - iprod;
if(irem < 0)ifrac=ifrac-1;
}
idmres=ifrac;
if(nzirem > 0)idmres=irem;
return idmres;
}
int onexwchr(int xwcpos,char xwclist[])
{
int onexwres;
char onexwtcr;
onexwtcr = xwclist[xwcpos];
onexwres = (int)onexwtcr;
if(onexwres < 0)onexwres = onexwres + 256;
return onexwres;
}
// 7*14 font 8 characters every 7 bytes of width
// prev curr
// 00 FE FC 03 03 F8 07 F0
// 0F E0 1F C0 3F 80 7F 00
void hswristr(char hsb[],int hsw,int hst,
char bsf[],int hstrw,char hstr[])
{
// writeable hsb[]
// requested width in pixels hsw
// cursor+1001 hst
// big font bsf[]
// number of characters hstrw
// line of characters to draw hstr[]
// int hscur[] = { 0,-2,1,-4,3,-8,7,-16,
// 15,-32,31,-14,63,-128,127,0 };
int hscur[] = { -1,1,-2,3,-4,7,-8,15,
-16,-31,-32,13,-64,127,-128,-1 };
int hswid,hsrctr,hs16ctr,hm16ctr,hsbigco,hsbig;
int hsbigrem,hsbigchr,sbigwsub,hsbigcb;
char hs1right,hs2right;
hswid=divmodi((hsw+31),32,0)*4;
hm16ctr=14*hswid;
hsrctr=0;
while(hsrctr < hm16ctr)
{
hs16ctr=hsrctr+62;
hsb[hs16ctr]=(char)(0-1);
hsrctr=hsrctr+1;
}
uncram(0,2,hsb,19778);
uncram(18,4,hsb,hsw);
uncram(22,4,hsb,14);
uncram(28,2,hsb,1);
uncram(30,4,hsb,0);
uncram(46,4,hsb,0);
uncram(54,4,hsb,0);
uncram(58,4,hsb,16777215);
hsrctr=0;
while(hsrctr < hstrw)
{
hsbigchr=hstr[hsrctr];
if((hsbigchr>=32)&&(hsbigchr<127))
{
hsbigrem=hsrctr&7;
hsbigcb=(hsrctr>>3)*7;
hsbigco=hsbigcb+hsbigrem+62;
hs16ctr=0;
hsbig=(hsbigrem+hsbigrem)+(hsbigchr<<8);
sbigwsub=hsbigco+(14*hswid);
while(hs16ctr < 13)
{
// sbigwsub=hsbigco+((14-hs16ctr)*hswid)
// hsbig=(hsbigrem*2)+(256*hsbigchr)+(16*hs16ctr);
hsb[sbigwsub-1]=hsb[sbigwsub-1]&bsf[hsbig];
hsb[sbigwsub]=hsb[sbigwsub]&bsf[hsbig+1];
sbigwsub=sbigwsub-hswid;
hsbig=hsbig+16;
hs16ctr=hs16ctr+1;
}
if((hst-1001)==hsrctr)
{
hs1right=(char)hscur[hsbigrem+hsbigrem];
hs2right=(char)hscur[hsbigrem+hsbigrem+1];
hsb[sbigwsub-1]=hsb[sbigwsub-1]&hs1right;
hsb[sbigwsub]=hsb[sbigwsub]&hs2right;
}
hsrctr=hsrctr+1;
}
}
}
// end of hswristr
void chrfroms(int chfstart,int chfsize,char xvclist[],
const char* xvslist)
{
int chfctr,chfallow;
char chftcr;
chfctr=0;
chfallow=1;
while(chfallow > 0)
{
chftcr = *(xvslist + chfctr);
if(chftcr == '!')chfallow = 0;
if(chftcr == '$')chfallow = 0;
if(chfctr >= chfsize)chfallow = 0;
if(chfallow > 0)
{
xvclist[chfstart + chfctr]=chftcr;
chfctr=chfctr+1;
}
}
// depth = 1
chftcr = '\40';
chfallow = 0;
if(chfctr < chfsize)
{
chfallow = 1;
while(chfallow > 0)
{
if(chfctr >= chfsize)chfallow=0;
if(chfallow > 0)
{
xvclist[chfstart + chfctr]=chftcr;
// depth = 4
chfctr=chfctr+1;
}
}
}
}
// end of chrfroms;
int onexwdig(int xwdpos,char xwdlist[])
{
int xwdires,xwdicmp;
xwdires=127;
xwdicmp = onexwchr(xwdpos,xwdlist);
if((xwdicmp>=97)&&(xwdicmp<=102))xwdires=xwdicmp-87;
if((xwdicmp>=65)&&(xwdicmp<=70))xwdires=xwdicmp-55;
if((xwdicmp>=48)&&(xwdicmp<=57))xwdires=xwdicmp-48;
return xwdires;
}
int ixreada(int iarpos,int iarwid,int iarbase,
int nziarnext,char iarlist[])
{
int iarctr,iarallow,iarsub,ixreadr,ixreadt;
iarctr=0;
iarallow = 1;
ixreadr=0;
while(iarallow > 0)
{
iarsub = iarpos + iarctr - 1;
ixreadt = onexwdig(iarsub,iarlist);
if(ixreadt < iarbase)iarallow=0;
if(iarallow > 0)
{
iarctr = iarctr + 1;
if(iarctr >= iarwid)iarallow = 0;
}
}
// depth = 1
iarallow = 0;
if(iarctr < iarwid)
{
iarallow = 1;
while(iarallow > 0)
{
iarsub=iarpos+iarctr-1;
ixreadt = onexwdig(iarsub,iarlist);
if(ixreadt >= iarbase)iarallow=0;
if(iarallow > 0)
{
ixreadr=ixreadr*iarbase;
ixreadr=ixreadr+ixreadt;
iarctr=iarctr+1;
if(iarctr >= iarwid)iarallow=0;
}
}
}
// depth = 1
if(nziarnext > 0)ixreadr=iarpos+iarctr;
return ixreadr;
}
int revercram(int rcstart,int rcmany,char revdat[])
{
int revnegind,crammedres,cramctr,cramsub;
int cramterm;
cramsub=rcstart+rcmany-1;
revnegind=0;
cramterm=onexwchr(cramsub,revdat);
crammedres=0;
if((cramterm > 127)&&(rcmany > 3))revnegind=1;
cramctr=rcmany;
while(cramctr > 0)
{
cramsub = rcstart + cramctr -1;
cramterm=onexwchr(cramsub,revdat);
if(revnegind==1)cramterm=255-onexwchr(cramsub,revdat);
crammedres=crammedres*256;
crammedres=crammedres+cramterm;
cramctr=cramctr - 1;
}
if(revnegind == 1)crammedres=(0-1)-crammedres;
return crammedres;
}
void linuwrn(int lwrnpos,int lwrnwid,int lwrnbase,
char lwrt[],int lwrf)
{
int lwrnsub;
int lwrneg,lwrnterm,lwrnctr,lwrntop;
lwrneg=0;
lwrntop=lwrf;
if(lwrf < 0)lwrneg=1;
if(lwrneg == 1)lwrntop=0-(lwrf+1);
lwrnctr=lwrnwid-1;
while(lwrnctr >= 0)
{
lwrnsub=lwrnctr+lwrnpos-1;
lwrnterm=divmodi(lwrntop,lwrnbase,1);
lwrntop=divmodi(lwrntop,lwrnbase,0);
if(lwrneg == 1)lwrnterm=(lwrnbase-1)-lwrnterm;
lwrnterm=lwrnterm+48;
if(lwrnterm > 57)lwrnterm=lwrnterm+39;
lwrt[lwrnsub]=(char)lwrnterm;
lwrnctr=lwrnctr+1;
// *** ERROR *** incrementing instead of needed
// decrementing above
// *** ERROR *** above mistke was hidden
// and hard to find
// attempting fix below
lwrnctr=lwrnctr-2;
}
}
void uncram(int ucstart,int ucmany,char ucdat[],
int ucfrom)
{
int ctruc,uctop,ucneg,ucsub,uccdig;
ucneg=0;
uctop=ucfrom;
if(ucfrom < 0)
{
uctop = 0 - (ucfrom + 1);
ucneg = 1;
}
ctruc = 0;
while(ctruc < ucmany)
{
uccdig=divmodi(uctop,256,1);
uctop=divmodi(uctop,256,0);
ucsub=ctruc+ucstart;
if(ucneg == 1)uccdig=255-uccdig;
if(uccdig > 127)uccdig = uccdig - 256;
ucdat[ucsub]=(char)uccdig;
ctruc=ctruc + 1;
}
}
int ombrlen(int ombrloffset,int ombmaxlen,
char ombuksize[])
{
int ombclen,omblelow,omblent,nextlelow;
ombclen=ombmaxlen;
omblelow=1;
if(ombmaxlen > 0)
{
while(omblelow > 0)
{
omblent=onexwchr((ombrloffset+ombclen-1),ombuksize);
nextlelow=0;
if(omblent == 0)nextlelow=1;
if(omblent == 32)nextlelow=1;
if(nextlelow == 0)omblelow=0;
if(omblelow > 0)
{
ombclen=ombclen-1;
if(ombclen < 1)omblelow=0;
}
}
}
if(ombmaxlen == 0)
{
ombclen=0;
while(omblelow > 0)
{
omblent=onexwchr((ombrloffset + ombclen),ombuksize);
nextlelow=1;
if(omblent == 0)nextlelow=0;
if(omblent == 32)nextlelow=0;
if(omblent == 33)nextlelow=0;
if(nextlelow == 0)omblelow=0;
if(nextlelow > 0)ombclen=ombclen+1;
if(ombclen > 71)omblelow=0;
}
}
return ombclen;
}
// end of ombrlen
int nzlinedone(int lkbc[],char reekline[])
{
int nzlineres,nzlinectr,nzldcmp,nzlinebase;
nzlinebase=lkbc[34];
nzlinectr=lkbc[25];
nzlineres=0;
if(nzlinectr == 0)
{
while(nzlineres < 40)
{
reekline[nzlineres+nzlinebase]='\040';
nzlineres=nzlineres+1;
}
}
nzlineres=0;
nzldcmp=lkbc[26];
if((nzldcmp == 8)&&(nzlinectr>0))nzlinectr=nzlinectr-1;
if((nzldcmp > 31)&&(nzldcmp < 126))
{
reekline[nzlinectr+nzlinebase]=(char)nzldcmp;
nzlinectr=nzlinectr+1;
}
if((nzldcmp == 10)||(nzldcmp == 13))nzlineres=1;
lkbc[25]=nzlinectr;
if(nzlinectr > 38)nzlineres=1;
return nzlineres;
}
// end of nzlinedone
int redcst(int llrs,int llrw,int llrbase,
const char* llccs)
{
int yellowcst;
char redcharb[80];
chrfroms(0,(llrw+llrs-1),redcharb,llccs);
yellowcst = ixreada(llrs,llrw,llrbase,0,redcharb);
return yellowcst;
}
// end of redcst
// end of Linux integer char subroutines
// bitmap using subroutines
// .................................................
// Applications programs that are written for Linux
// use the following
// simplified bitmap header for device independent bitmaps
// location length
// 000 00 02 cstMBcmp value 19778 M=77 B=66 2
// 002 02 16 skipped
// 018 12 04 biwidth in pixels 4
// 022 16 04 biheight in pixels 4
// 026 1A 02 skip was biplanes set to 0001
// 028 1C 02 bibitcount = { 1,4,8,24 } 2
// 030 1E 04 Zero if no compression. 4
// 034 22 12 skipper
// 046 2E 04 biclrused number of colors if > 0 4
// && [1C]==8 x
// 050 32 04 skippable
// 054 36 ((2^[1C])*4)(or 0 for [1C]==24) colortable
// with bgr0 entries
// if([1C]==1)len=8
// if([1C]==4)len=64
// 062 3E start of monochrome bitmap
// 118 76 start of VGA 4 bit color bitmap
// lines of pixels are left to right but upside down
// an extra skippable is added to end of each line to
// make each file line a multiple of four bytes
// ...................................................
// bitmap context integer array for
// some applications programs written for Linux
// requested output characteristics
// 00 destwid
// 01 desthgt
// 02 destx
// 03 desty
// 04 scale set to 0 then let bitmap compute it later
// 05 readmode 0=file 1=memory
// 06 colormode 1=decreaseincreasewithsyncedlimits
// 07 planewidth
// . . . . . . . . . . . . . . . . . .
// input characteristics from incoming bitmap
// 08 biwidth18
// 09 biheight22
// 10 bibitcount28
// 11 ifzerook30
// 12 biclrused46
// 13 isit19778
// ..
// 14 colortablesize
// 15 vfilepointer
// 16 bytesperrecord
// 17 skippedbytes
// 18 prinwid
// 19 prinleft
// 20 prinudy
// 21 prinhgt
// 22
// 23 prinprvpix
// 24 nzfilenamefinished
// 25 keyctr
// 26 keychar
// 27 rawkey
// 28 pagetofive
// 29 planehgt
// 30 dagrajumpnow
// 31 freddyisnext
// 32 screenDEPTH
// 33
// 34 curscrkeyoff
// 35 curscreenwrt
// 36
// 37
// 38
// 39 nzallfour
// 40
// 41 nzfn01
// 42 nzfn02
// 43 nzfn03
// 44 nzfn04
// 45 nzfn05
// 46
// 47
// 48
// 49
// 50
// 51 scrollctr
// 52 scrolllimit
// 53 scrollallow
// 54 scrolldir
// 55
// 56 picturesreadcounterlastdigit
// 57 previousscreen
// 58 th0
// 59 th1
// 60 th2
// 61 th3
// 62 th4
// 63 th5
// 64 th6
// 65 th7
// 66 th8
// 67 th9
// 68 th10
// 69 th11
// 70 th12
// 71 th13
// 72 th14
// 73 th15
// 74
// 75
// 76
// 77
// 78
// 359
int lscale(int lscabc[])
{
int lscares,lscallow,lscawchk,lscahchk;
int zandtogl;
lscares=1;
lscallow=1;
while(lscallow > 0)
{
lscawchk = lscabc[0] * lscares;
lscahchk = lscabc[1] * lscares;
zandtogl = 1;
if(lscawchk < lscabc[8])zandtogl=0;
if(lscahchk < lscabc[9])zandtogl=0;
if(zandtogl == 1)lscallow=0;
if(lscallow > 0)
{
lscares=lscares+1;
if(lscares > 16383)lscallow=0;
}
}
return lscares;
// lscale returns factor by which to shrink picture
}
int lredoffs(int lrosbc[])
{
int lredoffr;
lredoffr=0;
if(lrosbc[5] > 0)lredoffr=lrosbc[15];
return lredoffr;
// lredoffs returns 0 for file read or
// virtualfilepointer value for memory read
}
int lctsize(int lctsbc[])
{
int lctsres,lctsterm,lctstrrm;
lctsres=0;
lctsterm=lctsbc[10];
lctstrrm=lctsbc[12];
if(lctsterm == 1)lctsres=2;
if(lctsterm == 4)lctsres=16;
if((lctsterm == 8)&&(lctstrrm == 0))lctsres=256;
if((lctsterm == 8)&&(lctstrrm > 0))lctsres=lctstrrm;
return lctsres;
// lctsize returns colortable size in
// four byte doublewords
}
int lpixperb(int lpixprbc[])
{
int lpixperes,lpixpercmp;
lpixpercmp = lpixprbc[10];
lpixperes=0;
if(lpixpercmp == 1)lpixperes=8;
if(lpixpercmp == 4)lpixperes=2;
if(lpixpercmp == 8)lpixperes=1;
return lpixperes;
// lpixperb returns pixels per byte if > 0 xor 3 bytes
// per pixel if return zero
}
int lbytespr(int lbprbc[],int nzlbprem)
{
int lbypres,lbyperb,lbyrnumer;
lbyperb=lpixperb(lbprbc);
if(lbyperb > 0)
{
lbyrnumer=lbprbc[8]+lbyperb-1;
lbypres=divmodi(lbyrnumer,lbyperb,0);
}
if(lbyperb == 0)lbypres = 3 * lbprbc[8];
if(nzlbprem > 0)
{
lbyrnumer=lbypres-(divmodi(lbypres,4,0)*4);
lbypres=0;
if(lbyrnumer > 0)lbypres=4-lbyrnumer;
}
return lbypres;
// returns lbypres bytes per record to make
// (one input line of pixels) if nzlbprem==0
// returns lbypres is number of skippable bytes
// after each line if arg 2 > 0
}
int lbreadf(int lbreadbc[],char lbrecord[],int lbreadw,
FILE* lbreadh)
{
int actreadwid,lbreadres;
if(lbreadw == 0)actreadwid=lbreadbc[16]+lbreadbc[17];
if(lbreadw > 0)actreadwid=lbreadw;
lbreadres=lbreadbc[15];
if(lbreadbc[5] == 0)
{
// read from a file
fread(lbrecord,actreadwid,1,lbreadh);
}
lbreadres=lbreadres+actreadwid;
// lbreadres is next value to put in [15]
// after call to lredoffs
return lbreadres;
}
int nzreadmbhdr(int nzrhbc[],char nzrhrecord[],
char rhctble[],FILE* nzrhh)
{
int nzrnext,nzrhres,nzrholop,nzrhilop,nzrhctsub;
int nzrhrase,nzrhcolsub;
int nzrhnext;
nzrnext=0;
nzrhbc[15]=nzrnext;
nzrhres=nzrnext;
nzrnext=lbreadf(nzrhbc,nzrhrecord,2,nzrhh);
nzrhbc[13]=revercram(lredoffs(nzrhbc),2,nzrhrecord);
nzrhbc[15] = nzrnext;
if(nzrhbc[13] == 19778)
{
nzrhres=1;
// depth = 2
nzrnext=lbreadf(nzrhbc,nzrhrecord,16,nzrhh);
nzrhbc[15] = nzrnext;
nzrnext=lbreadf(nzrhbc,nzrhrecord,4,nzrhh);
nzrhbc[8] = revercram(lredoffs(nzrhbc),4,nzrhrecord);
nzrhbc[15] = nzrnext;
nzrnext = lbreadf(nzrhbc,nzrhrecord,4,nzrhh);
nzrhbc[9] = revercram(lredoffs(nzrhbc),4,nzrhrecord);
nzrhbc[15] = nzrnext;
nzrnext=lbreadf(nzrhbc,nzrhrecord,2,nzrhh);
nzrhbc[15] = nzrnext;
// ------------------------------------------------
nzrnext=lbreadf(nzrhbc,nzrhrecord,2,nzrhh);
nzrhbc[10] = revercram(lredoffs(nzrhbc),2,nzrhrecord);
nzrhbc[15] = nzrnext;
nzrnext=lbreadf(nzrhbc,nzrhrecord,4,nzrhh);
nzrhbc[11] = revercram(lredoffs(nzrhbc),4,nzrhrecord);
nzrhbc[15] = nzrnext;
if(nzrhbc[11] != 0)nzrhres=0;
nzrnext=lbreadf(nzrhbc,nzrhrecord,12,nzrhh);
nzrhbc[15]=nzrnext;
nzrnext=lbreadf(nzrhbc,nzrhrecord,4,nzrhh);
nzrhbc[12] = revercram(lredoffs(nzrhbc),4,nzrhrecord);
nzrhbc[15] = nzrnext;
nzrnext=lbreadf(nzrhbc,nzrhrecord,4,nzrhh);
nzrhbc[15] = nzrnext;
if(nzrhbc[4] == 0)nzrhbc[4]=lscale(nzrhbc);
nzrhbc[14]=lctsize(nzrhbc);
nzrhbc[16]=lbytespr(nzrhbc,0);
nzrhbc[17]=lbytespr(nzrhbc,1);
// depth = 2
nzrhbc[18]=divmodi(nzrhbc[8],nzrhbc[4],0);
nzrhbc[21]=divmodi(nzrhbc[9],nzrhbc[4],0);
nzrhbc[20]=nzrhbc[21]-1;
nzrhbc[19]=nzrhbc[0]-nzrhbc[18];
nzrholop=0;
while(nzrholop < nzrhbc[14])
{
nzrhnext=lbreadf(nzrhbc,nzrhrecord,4,nzrhh);
nzrhrase=lredoffs(nzrhbc);
// depth = 3
nzrhbc[15] = nzrhnext;
nzrhilop=0;
while(nzrhilop < 4)
{
nzrhctsub=(nzrholop * 4) + nzrhilop;
nzrhcolsub = nzrhrase + nzrhilop;
rhctble[nzrhctsub] = nzrhrecord[nzrhcolsub];
// depth = 4
nzrhilop=nzrhilop+1;
}
nzrholop=nzrholop+1;
// depth = 3
}
// depth = 2
if((nzrhbc[8]*nzrhbc[4]*3)>=bigbuffsize)nzrhres=0;
}
// depth = 1
return nzrhres;
}
// end of nzreadmbhdr
int xwtscroll(int xscbc[],char xscsingle[],
char xscgroup[])
{
int xscres,xscilo,xscbase;
// 51 scrollctr 52 scrolllimit
// 53 scrollallow
// 54 scrolldir 0=save 1=get
xscbase=((xscbc[51]) + 1)*40;
xscres=0;
xscilo=0;
if(((xscbc[54]) == 0)&&((xscbc[51]) < (xscbc[52])))
{
while(xscilo < 40)
{
xscgroup[xscbase + xscilo] = xscsingle[xscilo];
xscilo=xscilo+1;
}
if((xscbc[53]) > 0)xscres=1;
if((xscbc[53]) > 0)xscbc[51]=xscbc[51]+1;
}
if(((xscbc[54]) == 1)&&((xscbc[51]) < (xscbc[52])))
{
while(xscilo < 40)
{
xscsingle[xscilo]=xscgroup[xscbase + xscilo];
xscilo=xscilo+1;
}
if((xscbc[53]) > 0)xscres=1;
if((xscbc[53]) > 0)xscbc[51]=xscbc[51]+1;
}
return xscres;
}
void getpine(int gpbc[],char gprec[],char gpct[],
char gpbig[],FILE* gph)
{
int gbibitcount,hpixb,gpixctr,gbytectr;
int gbiwidth,ghmbytes,gpirase,gpinext;
int gpdesrase,gpeallow,gpscalelim,gpscalectr;
int gpctrase,gpilopctr,gpiterm,gpidenom,gpilopsub;
int gpints[8];
gbibitcount=gpbc[10];
hpixb=lpixperb(gpbc);
gbiwidth=gpbc[8];
ghmbytes=gpbc[16];
gpscalelim=gpbc[4];
gpdesrase=0;
gpscalectr=0;
// depth = 1
while(gpscalectr < gpscalelim)
{
gpinext=lbreadf(gpbc,gprec,0,gph);
// depth = 2
gpirase=lredoffs(gpbc);
gpbc[15]=gpinext;
gpixctr=0;
gbytectr=0;
gpeallow=1;
while(gpeallow > 0)
{
gpiterm=onexwchr((gpirase+gbytectr),gprec);
// depth = 3
if(gbibitcount < 9)
{
gpilopctr=hpixb;
if(gbibitcount == 1)gpidenom=2;
if(gbibitcount == 4)gpidenom=16;
if(gbibitcount == 8)gpidenom=256;
while(gpilopctr > 0)
{
gpilopsub=gpilopctr-1;
gpints[gpilopsub]=divmodi(gpiterm,gpidenom,1);
gpiterm=divmodi(gpiterm,gpidenom,0);
// depth = 5
gpilopctr=gpilopsub;
}
gpilopctr=0;
// depth = 4
while(gpilopctr < hpixb)
{
if(gpeallow > 0)
{
gpctrase=gpints[gpilopctr]*4;
gpbig[gpdesrase]=gpct[gpctrase];
// depth = 6
gpbig[gpdesrase+1]=gpct[gpctrase+1];
gpbig[gpdesrase+2]=gpct[gpctrase+2];
gpdesrase=gpdesrase+3;
gpixctr=gpixctr+1;
if(gpixctr >= gbiwidth)gpeallow=0;
}
// *** ERROR *** initial paperwork forgot to increment
// gpilopctr like next
gpilopctr=gpilopctr+1;
}
gbytectr=gbytectr+1;
}
// depth = 3
if((gbibitcount == 24)&&(gpeallow > 0))
{
gpbig[gpdesrase]=gprec[gpirase+gbytectr];
gpbig[gpdesrase+1]=gprec[gpirase+gbytectr+1];
// depth = 4
gpbig[gpdesrase+2]=gprec[gpirase+gbytectr+2];
gpdesrase=gpdesrase+3;
gpixctr=gpixctr+1;
if(gpixctr >= gbiwidth)gpeallow=0;
gbytectr=gbytectr+3;
}
if(gbytectr >= ghmbytes)gpeallow=0;
}
// depth = 2
gpscalectr=gpscalectr+1;
}
}
// end of getpine
int putpine(char** iirplane,int irplane[],
int vpthresh[],char vpbig[])
{
int putriny,putxvctr,putxoctr,putxictr,putxoisub;
int putbigcmp,putsmallpix;
int putbigcmr,putbigcmg,putbigcmb;
int putpilowcap,putpibigcap,putjshifx,putjshify;
char* jrplane0;
char* jrplane1;
char* jrplane2;
char* jrplane3;
jrplane0 = *(iirplane + 0);
jrplane1 = *(iirplane + 1);
jrplane2 = *(iirplane + 2);
jrplane3 = *(iirplane + 3);
// depth = 1 1608 indirects 1604 thru 1607
putpilowcap = irplane[4] * irplane[4] * 3;
putpibigcap = irplane[4] * irplane[4] * 254 * 3;
putxvctr=0;
putriny=irplane[20]+1;
if(irplane[13]==19778)putriny=irplane[20]-1;
// depth = 1
if((irplane[20] >= 0)&&(irplane[20] < irplane[21]))
{
irplane[23]=0;
while(putxvctr < irplane[18])
{
putxoctr=0;
// putbigcmr needs to be zeroed HERE 1909
putbigcmr = 0;
putbigcmg = 0;
putbigcmb = 0;
while(putxoctr < irplane[4])
{
putxictr = 0;
while(putxictr < irplane[4])
{
// putxoisub=(putxoctr*irplane[8]*3)+(putxictr * 3);
// depth = 5
// *** ERROR *** above calulation of
// putxoisub is incorrect
putxoisub=((irplane[8])*putxoctr)+putxictr;
putxoisub=putxoisub+(putxvctr*(irplane[4]));
putxoisub=putxoisub*3;
// depth = 5
// ***ERROR*** hidden mistake of zeroing at wrong place
// putbigcmp=0; here only works when irplane[4]==1
// *** ERROR *** initial paperwork tried to add char
// directly to int next.
putbigcmb=putbigcmb+onexwchr(putxoisub,vpbig);
putbigcmg=putbigcmg+onexwchr((putxoisub + 1),vpbig);
putbigcmr=putbigcmr+onexwchr((putxoisub + 2),vpbig);
putxictr=putxictr+1;
}
putxoctr=putxoctr+1;
}
// depth = 3
putbigcmp = putbigcmr + putbigcmg + putbigcmb;
// colormode starts at 0. Replace 2;
if((irplane[6] >= 0)&&(irplane[6] <= 1)&&(scrallow == 1))
{
putsmallpix=0;
if(putbigcmp > irplane[23])putsmallpix=255;
if(putsmallpix != 0)irplane[23]=putbigcmp+1;
if(putsmallpix == 0)irplane[23]=putbigcmp-1;
if((irplane[6] == 1)&&(scrallow == 1))
{
if(putbigcmp < putpilowcap)putsmallpix=0;
// depth = 5
if(putbigcmp > putpibigcap)putsmallpix=255;
}
putjshifx=putxvctr+irplane[2];
putjshify=irplane[20]+irplane[3];
onewrt31(0,irplane[7],putjshifx,putjshify,
putsmallpix);
}
// cut here depth = 3 ------------ 1871 twotop
// 3772
if(((irplane[6]) == 2)&&(scrallow == 1))
{
putjshifx=putxvctr+irplane[2];
putjshify=irplane[20]+irplane[3];
putxictr=grpindiv(putbigcmp,(irplane+58),8,
putjshifx,putjshify,8);
putsmallpix=thsixsev[putxictr];
onewrt31(0,irplane[7],putjshifx,putjshify,
putsmallpix);
}
// depth = 3
if(((irplane[6]) == 3)&&(scrallow == 1))
{
putsmallpix=0;
putjshify=irplane[20]+irplane[3];
putjshifx=putxvctr+irplane[2];
putxictr=0;
putxoctr=((putjshifx & 1) << 1)+(putjshify & 1);
if(irplane[62+putxoctr] < putbigcmr)
{
putxictr=1;
// depth = 5
putsmallpix=putsmallpix | 192;
}
// depth = 4
if(irplane[62+putxoctr] < putbigcmg)
{
putxictr=1;
putsmallpix=putsmallpix | 160;
}
if(irplane[62+putxoctr] < putbigcmb)
{
putxictr=1;
putsmallpix=putsmallpix | 144;
}
// depth = 4
if(putxictr == 0)
{
// depth = 5
if(irplane[58+putxoctr] < putbigcmr)
{
putsmallpix=putsmallpix | 64;
}
// depth = 5
if(irplane[58+putxoctr] < putbigcmg)
{
putsmallpix=putsmallpix | 32;
}
if(irplane[58+putxoctr] < putbigcmb)
{
putsmallpix=putsmallpix | 16;
}
// depth = 5
}
// depth = 4
onewrt31(0,irplane[7],putjshifx,putjshify,
putsmallpix);
// depth = 4
}
// depth = 3
if(((irplane[6]) == 4)&&(scrallow == 1))
{
putjshifx=putxvctr+irplane[2];
putjshify=irplane[20]+irplane[3];
putxictr=grpindiv(putbigcmp,(irplane+58),16,
putjshifx,putjshify,16);
putsmallpix=briout[putxictr];
onewrt31(0,irplane[7],putjshifx,putjshify,
putsmallpix);
}
if(((irplane[6]) == 5)&&(scrallow == 1))
{
putsmallpix=indiv(putbigcmp,(irplane+58),256);
putjshifx=putxvctr+irplane[2];
putjshify=irplane[20]+irplane[3];
onewrt31(0,irplane[7],putjshifx,putjshify,
putsmallpix);
}
// depth = 3
if(((irplane[6]) == 6)&&(scrallow == 1))
{
putjshifx=putxvctr+irplane[2];
putjshify=irplane[20]+irplane[3];
putsmallpix=indiv(putbigcmr,(irplane+58),256);
onewrt31(16,irplane[7],putjshifx,putjshify,
putsmallpix);
putsmallpix=indiv(putbigcmg,(irplane+58),256);
onewrt31(8,irplane[7],putjshifx,putjshify,
putsmallpix);
putsmallpix=indiv(putbigcmb,(irplane+58),256);
onewrt31(0,irplane[7],putjshifx,putjshify,
putsmallpix);
}
// depth = 3
if(((irplane[6]) == 7)&&(scrallow == 1))
{
putjshifx=putxvctr+irplane[2];
putjshify=irplane[20]+irplane[3];
putxictr=grpindiv(putbigcmp,(irplane+58),16,
putjshifx,putjshify,16);
putsmallpix=briout[putxictr];
onewrt31(0,irplane[7],putjshifx,putjshify,
putsmallpix);
}
// depth = 3
if(scrallow == 0)
{
putjshifx=putxvctr+irplane[2];
putjshify=irplane[20]+irplane[3];
putsmallpix=1;
if(putbigcmp < (irplane[58]))putsmallpix=0;
onewrt01(24,irplane[7],putjshifx,putjshify,
putsmallpix);
}
// ------------------------------------------------ 4117
putxvctr=putxvctr+1;
}
// depth = 2
if(scrallow == 1)
{
putxvctr=0;
while(putxvctr < irplane[19])
{
putsmallpix=255;
putxictr=putxvctr+irplane[18];
putjshifx=putxictr+irplane[2];
putjshify=irplane[20]+irplane[3];
if(((putjshifx+putjshify)&8)!=0)putsmallpix=0;
onewrt31(0,irplane[7],putjshifx,putjshify,
putsmallpix);
// depth = 4
if((irplane[6])==6)
{
onewrt31(8,irplane[7],putjshifx,putjshify,
putsmallpix);
onewrt31(16,irplane[7],putjshifx,putjshify,
putsmallpix);
}
putxvctr=putxvctr+1;
// depth = 4
}
// depth = 3
}
// depth = 2
}
return putriny;
}
// end of putpine
int onebumpw(char** ijplane,int onbbc[],
char ombrecord[],char ombgbig[])
{
FILE* ombfh;
int ombctr,fnlen,fdlen,omballow,oneedclose,ombresu;
char ombcolort[1024];
int ombthresh[16];
char ombfns[90];
// SEEK_SET SEEK_CUR SEEK_END
ombfns[0]='\0';
oneedclose=0;
ombresu=0;
omballow=1;
if(onbbc[5] == 0)
{
fnlen = ombrlen(0,40,ombrecord);
ombctr=0;
while(ombctr < fnlen)
{
ombfns[ombctr]=ombrecord[ombctr];
ombctr=ombctr+1;
}
ombfns[fnlen]='\0';
ombfh = NULL;
if(fnlen > 0)ombfh = fopen(ombfns,"rb");
if(ombfh == NULL)omballow = 0;
// depth = 2
if(omballow > 0)
{
fseek(ombfh,0,SEEK_END);
fdlen=ftell(ombfh);
fseek(ombfh,0,SEEK_SET);
oneedclose=1;
}
// depth = 2
}
// depth = 1;
onbbc[8]=0;
onbbc[9]=0;
onbbc[10]=24;
onbbc[13]=0;
onbbc[15]=0;
if(omballow > 0)
{
omballow=nzreadmbhdr(onbbc,ombrecord,ombcolort,ombfh);
// line 3917
if(((onbbc[6]) == 72)&&(scrallow == 1))
{
ombctr=0;
while(ombctr < 6)
{
onbbc[(58+ombctr)]=shrinkth[ombctr]*onbbc[4]*onbbc[4];
ombctr=ombctr+1;
}
}
if(((onbbc[6]) == 85)&&(scrallow == 1))
{
ombctr=0;
while(ombctr < 24)
{
onbbc[(58+ombctr)]=sbrinkth[ombctr]*onbbc[4]*onbbc[4];
ombctr=ombctr+1;
}
}
if(((onbbc[6]) == 2)&&(scrallow == 1))
{
ombctr=0;
while(ombctr < 32)
{
onbbc[(58+ombctr)]=sixthre[ombctr]*onbbc[4]*onbbc[4];
ombctr=ombctr+1;
}
}
if(((onbbc[6]) == 3)&&(scrallow == 1))
{
ombctr=0;
while(ombctr < 8)
{
onbbc[(58+ombctr)]=rgbeight[ombctr]*onbbc[4]*onbbc[4];
ombctr=ombctr+1;
}
}
if(((onbbc[6]) == 84)&&(scrallow == 1))
{
ombctr=0;
while(ombctr < 8)
{
onbbc[(58+ombctr)]=rgbeight[ombctr]*onbbc[4]*onbbc[4];
ombctr=ombctr+1;
}
}
// 5
// colormode == 4
if(((onbbc[6]) == 74)&&(scrallow == 1))
{
ombctr=0;
while(ombctr < (thdimtran - 1))
{
onbbc[(58+ombctr)]=bigthre[ombctr]*onbbc[4]*onbbc[4];
ombctr=ombctr+1;
}
}
// line 3965
// second colormode == 2
if(((onbbc[6]) == 4)&&(scrallow == 1))
{
ombctr=0;
while(ombctr < 64)
{
onbbc[(58+ombctr)]=rawsog[ombctr]*onbbc[4]*onbbc[4];
ombctr=ombctr+1;
}
}
if(((onbbc[6]) == 5)&&(scrallow == 1))
{
ombctr=0;
while(ombctr < 256)
{
onbbc[(58+ombctr)]=((ombctr+2)*3)*onbbc[4]*onbbc[4];
ombctr=ombctr+1;
}
}
if(((onbbc[6]) == 6)&&(scrallow == 1))
{
ombctr=0;
while(ombctr < 256)
{
onbbc[(58+ombctr)]=(ombctr+1)*onbbc[4]*onbbc[4];
ombctr=ombctr+1;
}
}
if(((onbbc[6]) == 7)&&(scrallow == 1))
{
ombctr=0;
while(ombctr < 64)
{
onbbc[(58+ombctr)]=bawlog[ombctr]*onbbc[4]*onbbc[4];
ombctr=ombctr+1;
}
}
// line 3986:2217
if(((onbbc[6]) == 1003)&&(scrallow == 1))
{
ombctr=0;
while(ombctr < ((thdimbran - 1)*4))
{
onbbc[(58+ombctr)]=monoghre60[ombctr]*onbbc[4]*onbbc[4];
ombctr=ombctr+1;
}
}
// --------------------
if(scrallow == 0)
{
ombctr=onbbc[6];
onbbc[58]=threzero[ombctr]*onbbc[4]*onbbc[4];
}
// end of actual monochrome greyscale thresholds loading
// -- line 3997::2234
}
if((omballow>0)&&((onbbc[21])>0)&&(oneedclose==1))
{
onbbc[56]=onbbc[56]+1;
}
if((onbbc[56]) > 9)onbbc[56]=0;
if((omballow > 0)&&(onbbc[13] == 19778))
{
// if(((onbbc[10]) > 1)||((onbbc[4]) > 1))
if(((onbbc[10]) >= 1)||((onbbc[4]) >= 1))
{
// onbbc[20]=onbbc[21]-1;
while(omballow > 0)
{
getpine(onbbc,ombrecord,ombcolort,ombgbig,ombfh);
onbbc[20]=putpine(ijplane,onbbc,ombthresh,ombgbig);
if(onbbc[20] < 0)omballow=0;
ombresu=1;
}
}
}
if(oneedclose > 0)
{
fclose(ombfh);
}
// depth = 1
// ---------
return ombresu;
}
// end of onebumpw
int twobumpw(char** tjple,int tmbc[],char tmbr[],
char tbjg[],char tbf[])
{
int tmhrrem,tmbdiscard,tmbswitch,tmbresult,tmbtuebot;
char tnutexxt[88];
// (640 * 16 / 8) + 62
char tmogroup[2700];
char tmolinne[2684];
tmbswitch=tmbc[5];
tmbdiscard=0;
while(tmbdiscard < 40)
{
tnutexxt[tmbdiscard]='\40';
tmbdiscard=tmbdiscard+1;
}
if(tmbswitch > 0)
{
tmbresult=onebumpw(tjple,tmbc,tmbr,tbjg);
}
if(tmbswitch == 0)
{
// -------------
tmbdiscard=0;
while(tmbdiscard < 40)
{
tnutexxt[tmbdiscard]=tmbr[tmbdiscard];
tmbdiscard=tmbdiscard+1;
}
// -------------
tmbc[21]=0;
tmbc[4]=0;
tmbresult=0;
if((tmbc[24]) > 0)
{
tmbresult=onebumpw(tjple,tmbc,tmbr,tbjg);
}
tmbtuebot=tmbc[21];
tmhrrem=tmbc[1]-tmbtuebot;
// depth = 2
if((tmbc[0]) < 280)tmhrrem=0;
// ------------------------------------
tmbc[52]=divmodi(tmhrrem,14,0);
// greatest possible tmbc[52] is number of lines of
// text to be written
if((tmbc[52]) > 16)tmbc[52]=16;
if((tmbc[30]) == 11830)tmbc[52]=1;
tmbc[53]=1;
if((tmbc[30]) == 11830)tmbc[53]=1;
tmbc[51]=0;
tmbc[54]=0;
tmbdiscard=xwtscroll(tmbc,tnutexxt,tmogroup);
// -------------------------------------
// ------------------------------------
chrfroms(0,40,tnutexxt,
"w ---- h ---- s ----- b -- u dos B!");
linuwrn(3,4,10,tnutexxt,(tmbc[8]));
linuwrn(11,4,10,tnutexxt,(tmbc[9]));
linuwrn(19,1,10,tnutexxt,(tmbc[56]));
linuwrn(20,1,10,tnutexxt,(tmbc[35]));
linuwrn(21,1,10,tnutexxt,(tmbc[28]));
linuwrn(22,2,10,tnutexxt,(tmbc[4]));
linuwrn(28,2,10,tnutexxt,(tmbc[10]));
if(((tmbc[12]) > 0)&&((tmbc[10]) == 8))
{
linuwrn(34,3,10,tnutexxt,(tmbc[12]));
}
linuwrn(39,2,10,tnutexxt,(tmbc[6]));
if(tmbc[(tmbc[35] + 40)] == 0)
{
chrfroms(0,40,tnutexxt,
"No bitmap file is here. !");
}
tmbdiscard=xwtscroll(tmbc,tnutexxt,tmogroup);
// ----------------------------------------------
chrfroms(0,40,tnutexxt,
"w ---- h ---- t --- k --- -------- r!");
linuwrn(3,4,10,tnutexxt,(tmbc[7]));
linuwrn(11,4,10,tnutexxt,(tmbc[29]));
if((tmbc[35]) < 5)
{
linuwrn(3,4,10,tnutexxt,((tmbc[7]) >> 1));
linuwrn(11,4,10,tnutexxt,((tmbc[29]) >> 1));
}
linuwrn(19,3,10,tnutexxt,(tmbc[32]));
if(((tmbc[26]) >= 0)&&((tmbc[26]) < 1000))
{
linuwrn(26,3,10,tnutexxt,(tmbc[26]));
if(nzlibkey == 0)
{
if(((tmbc[26]) >= 32)&&((tmbc[26]) < 127))
{
tnutexxt[23] = (char)(tmbc[26]);
}
if(((tmbc[26]) >= 544)&&((tmbc[26]) < 639))
{
tnutexxt[22] = (char)(tmbc[26]-512);
}
}
// bottom of 0 to 1000 is next
}
linuwrn(30,8,16,tnutexxt,(tmbc[27]));
tmbdiscard=xwtscroll(tmbc,tnutexxt,tmogroup);
chrfroms(0,40,tnutexxt,
"-- Zacks Death Star is helping LINUX. !");
linuwrn(1,2,10,tnutexxt,(tmbc[52]));
if((lmoux < 10000)&&(lmouy < 10000))
{
if((lmoux >= 0)&&(lmouy >= 0))
{
if((tmbc[4]) == 1)
{
chrfroms(0,40,tnutexxt,
"-- ---- ---- ------------------------ !");
linuwrn(4,4,10,tnutexxt,lmoux);
linuwrn(9,4,10,tnutexxt,lmouy);
}
}
}
tmbdiscard=xwtscroll(tmbc,tnutexxt,tmogroup);
chrfroms(0,40,tnutexxt,
"Vote for an All Volunteer jury system. !");
tmbdiscard=xwtscroll(tmbc,tnutexxt,tmogroup);
chrfroms(0,40,tnutexxt,
"This program is not valid without its !");
tmbdiscard=xwtscroll(tmbc,tnutexxt,tmogroup);
chrfroms(0,40,tnutexxt,
"source code file xwview14.c !");
tmbdiscard=xwtscroll(tmbc,tnutexxt,tmogroup);
chrfroms(0,40,tnutexxt,
"THE ABILITY TO DESTROY A PLANET IS !");
tmbdiscard=xwtscroll(tmbc,tnutexxt,tmogroup);
chrfroms(0,40,tnutexxt,
"INSIGNIFICANT NEXT TO THE POWER OF !");
tmbdiscard=xwtscroll(tmbc,tnutexxt,tmogroup);
chrfroms(0,40,tnutexxt,
"OPEN SOURCE. !");
tmbdiscard=xwtscroll(tmbc,tnutexxt,tmogroup);
chrfroms(0,40,tnutexxt,
" o open 1 to 4 small screen q quit!");
tmbdiscard=xwtscroll(tmbc,tnutexxt,tmogroup);
chrfroms(0,40,tnutexxt,
"5 large screen c d colormode r redraw!");
tmbdiscard=xwtscroll(tmbc,tnutexxt,tmogroup);
if(fourdirpen == 0)
{
chrfroms(0,40,tnutexxt,
" ; get current directory filenames !");
}
if(fourdirpen == 1)
{
chrfroms(0,40,tnutexxt,
" . close dir , next dirfilename !");
}
tmbdiscard=xwtscroll(tmbc,tnutexxt,tmogroup);
chrfroms(0,40,tnutexxt,
" j allow mouse button to next picture !");
tmbdiscard=xwtscroll(tmbc,tnutexxt,tmogroup);
chrfroms(0,40,tnutexxt,
" v toggle bits per pixel 1 or 24 !");
tmbdiscard=xwtscroll(tmbc,tnutexxt,tmogroup);
chrfroms(0,40,tnutexxt,
"xwview14.c 12/05/09 by Eric Matteson !");
tmbdiscard=xwtscroll(tmbc,tnutexxt,tmogroup);
// ------------------------------
tmbc[54]=1;
tmbc[51]=0;
tmbc[5]=1;
tmbc[4]=1;
tmbc[3]=tmbc[3]+tmbc[21];
tmbc[21]=14;
tmhrrem=1;
while(tmhrrem > 0)
{
tmhrrem=xwtscroll(tmbc,tnutexxt,tmogroup);
if(tmhrrem > 0)
{
hswristr(tmolinne,(tmbc[0]),1000,tbf,40,tnutexxt);
tmbdiscard=onebumpw(tjple,tmbc,tmolinne,tbjg);
tmbc[3]=tmbc[3]+tmbc[21];
}
}
// -------------------------------------
}
// depth = 1
return tmbresult;
}
// end of twobumpw
int twobuz(char** zpl,int zbc[],char zrc[],char zb[],
char zf[],char zn[])
{
// zpl[] is target plane
// zbc[] is bitmap context
// zrc[] is record
// zb[] is big line of 24 bit pixels
// zf[] is font storage
// zn[] is filename
int tbzsel,tbzctr,tbzfnbase,tbzfnlen,tbztzes;
tbztzes=0;
tbzsel = zbc[35];
if((tbzsel >= 1)&&(tbzsel <= 5))
{
if(tbzsel == 5)
{
// zbc[0]=divmodi(((zbc[7])-31),32,0)*32;
// zbc[1]=zbc[29]-28;
zbc[0]=divmodi(((zbc[7])-0),32,0)*32;
zbc[1]=zbc[29]-14;
zbc[2]=0;
zbc[3]=0;
zbc[34]=160;
}
if(tbzsel == 1)
{
zbc[0] = divmodi(((zbc[7])-31),32,0)*16;
zbc[1] = divmodi(((zbc[29])-28),2,0);
zbc[2] = 0;
zbc[3] = 0;
zbc[34] = 0;
}
if(tbzsel == 2)
{
zbc[0] = divmodi(((zbc[7])-31),32,0)*16;
zbc[1] = divmodi(((zbc[29])-28),2,0);
zbc[2] = zbc[0];
zbc[3] = 0;
zbc[34] = 40;
}
if(tbzsel == 3)
{
zbc[0] = divmodi(((zbc[7])-31),32,0)*16;
zbc[1] = divmodi(((zbc[29])-28),2,0);
zbc[2] = 0;
zbc[3] = zbc[1];
zbc[34] = 80;
}
if(tbzsel == 4)
{
zbc[0] = divmodi(((zbc[7])-31),32,0)*16;
zbc[1] = divmodi(((zbc[29])-28),2,0);
zbc[2] = zbc[0];
zbc[3] = zbc[1];
zbc[34] = 120;
}
zbc[5] = 1-1;
tbzfnbase = zbc[34];
tbzfnlen = ombrlen(tbzfnbase,40,zn);
zbc[24]=0;
if(tbzfnlen < 1)
{
tbzctr=0;
while(tbzctr < 40)
{
zrc[tbzctr] = '\40';
tbzctr=tbzctr+1;
}
}
if(tbzfnlen >= 1)
{
zbc[4]=0;
zbc[5]=0;
tbzctr=0;
while(tbzctr < 40)
{
zrc[tbzctr] = zn[tbzctr + tbzfnbase];
tbzctr = tbzctr + 1;
}
zbc[24] = zbc[tbzsel + 40];
}
tbztzes = twobumpw(zpl,zbc,zrc,zb,zf);
}
return tbztzes;
}
// end of twobuz
int fourbump(char** aap,int ac[],char ar[],char ab[],
char af[],char an[])
{
int fourbres,fourbctr,fourbase,fourkend,fourrd;
int fourbcmp,fourjj,zandtogf;
// ac[7] is planewidth ac[29] is planehgt
// ac[30] is Dagrajumpnow ac[31] is Freddyisnext
// 11829 initialize
// 11830 keys to filename
// 11831 choose screen
// 11832 is quit
fourbcmp=divmodi((ac[7]+7),8,0)*ac[29];
fourbres=0;
if((ac[6]) < 2)fourbres=7;
if((ac[6]) == 2)fourbres=4;
if((ac[6]) == 3)fourbres=4;
if((ac[6]) == 4)fourbres=3;
while(fourbres <= 7)
{
fourbctr=0;
while(fourbctr < fourbcmp)
{
*(caap[fourbres]+fourbctr)=(char)(0-1);
fourbctr=fourbctr+1;
}
fourbres=fourbres+1;
}
if((ac[6]) == 6)
{
fourbres=8;
while(fourbres <= 23)
{
fourbctr=0;
while(fourbctr < fourbcmp)
{
*(caap[fourbres]+fourbctr)=(char)(0-1);
fourbctr=fourbctr+1;
}
fourbres=fourbres+1;
}
}
// --------------------------------------------------
fourbres=0;
fourrd=1;
fourbase=160;
if((ac[28]) == 4)fourbase=120;
if((ac[28]) == 3)fourbase=80;
if((ac[28]) == 2)fourbase=40;
// depth = 1
if((ac[28]) == 1)fourbase=0;
if((ac[30]) == 11829)
{
// fourbctr=41;
// while(fourbctr < 46)
// {
// ac[fourbctr]=0;
// depth = 3
// fourbctr=fourbctr+1;
// }
fonthfill(af);
ac[34]=160;
ac[28]=5;
ac[57]=ac[28];
ac[6]=2;
// depth = 2
ac[31]=11831;
ac[56]=0;
ac[26]=53;
ac[30]=11831;
ac[27]=131000;
fourbctr=ac[28];
}
if((ac[30]) == 11830)
{
// need ac[25] == 0
fourbctr=ac[28];
ac[34]=fourbase;
ac[35]=fourbctr;
fourkend=nzlinedone(ac,an);
fourbres=twobuz(aap,ac,ar,ab,af,an);
ac[31]=11830;
// depth = 2
if(fourkend > 0)ac[31]=11831;
if(fourkend > 0)ac[fourbctr + 40]=1;
if(fourkend > 0)ac[30]=ac[31];
}
if((ac[30]) == 11831)
{
ac[31]=11831;
fourbcmp=ac[26];
zandtogf=0;
if(fourbcmp == 82)zandtogf=1;
if(fourbcmp == 114)zandtogf=1;
if((ac[57])==(ac[28]))zandtogf=0;
if(zandtogf==1)
{
// 82 R 114 R redraw most recent
fourjj=ac[28];
if((ombrlen(fourbase,40,an)<1)&&((ac[fourjj+40])==0))
{
fourjj=0;
while(fourjj < 40)
{
zandtogf=an[(((ac[57])-1)*40)+fourjj];
an[(((ac[28])-1)*40)+fourjj] = zandtogf;
fourjj=fourjj+1;
}
fourjj=ac[28];
if(ombrlen(fourbase,40,an) > 4)ac[fourjj + 40]=1;
}
}
ac[57]=ac[28];
if((fourbcmp == 78)||(fourbcmp == 110))
{
// N 78 110 n new
fourjj=ac[28];
ac[fourjj + 40]=0;
fourjj=0;
while(fourjj < 40)
{
an[fourbase + fourjj]='\40';
fourjj=fourjj+1;
}
}
if((fourbcmp == 79)||(fourbcmp == 111))
{
// O 79 111 o open
fourbctr=ac[28];
fourrd=0;
ac[25]=0;
chrfroms(fourbase,40,an,"Enter Filename !");
// depth = 3
ac[fourbctr + 40]=0;
ac[31]=11830;
}
if((fourbcmp == 59)&&(fourdirpen == 0))
{
// 59 ;
xfourdp=opendir("./");
if(xfourdp != NULL)fourdirpen=1;
}
if((fourbcmp == 46)&&(fourdirpen == 1))
{
// 46 .
// 2609 (void) closedir(xfourdp);
closedir(xfourdp);
fourdirpen=0;
}
if((fourbcmp == 44)&&(fourdirpen == 1))
{
// 44 ,
seadirallow=0;
while(seadirallow < 40)
{
// depth = 4
can[((ac[28]-1)*40)+seadirallow]='\40';
seadirallow=seadirallow+1;
}
seadirallow=ac[28];
ac[seadirallow + 40]=0;
seadirallow=1;
while(seadirallow > 0)
{
xfourep=readdir(xfourdp);
if(xfourep == NULL)
{
fourdirpen=0;
// 2632 (void) closedir(xfourdp);
closedir(xfourdp);
// depth = 5
seadirallow=0;
}
if(seadirallow > 0)
{
if(nzextcmp((char*)(*xfourep).d_name,"2.BMP.bmp")!=0)
{
seadirallow=0;
}
}
}
// depth = 3
if(fourdirpen == 1)
{
seadirlimit=ombrlen(0,0,(*xfourep).d_name);
seadirallow=0;
if(seadirlimit < 40)
{
ac[40+(ac[28])]=1;
while(seadirallow < seadirlimit)
{
sdirch = *((*xfourep).d_name + seadirallow);
can[((ac[28]-1)*40)+seadirallow] = sdirch;
// depth = 6
seadirallow=seadirallow+1;
}
}
}
}
// depth = 2
if((fourbcmp == 81)||(fourbcmp == 113))
{
// 81 Q 113 q quit
if(fourdirpen == 1)
{
// 2669 (void) closedir(xfourdp);
closedir(xfourdp);
}
fourrd=0;
ac[31]=11832;
}
if((fourbcmp == 67)||(fourbcmp == 99))
{
// 67 C 99 c color mode
ac[6]=ac[6]+1;
if((scrallow == 1)&&((ac[6]) > 7))ac[6]=1;
if((ac[6]) > 32)ac[6]=1;
}
// 7 is maximum allowed colormode
if((fourbcmp == 68)||(fourbcmp == 100))
{
// 68 D
ac[6]=ac[6]-1;
if((ac[6]) < 1)ac[6]=32;
if((scrallow == 1)&&((ac[6]) > 7))ac[6]=7;
}
if((fourbcmp == 86)||(fourbcmp == 118))
{
// 86 V
vgaallow=1-vgaallow;
if((vgaallow == 1)&&((ac[6]) > 7))ac[6]=7;
pendreq=1;
}
if((fourbcmp == 74)||(fourbcmp == 106))
{
// 74 J 106 j
jmatog = 1 - jmatog;
}
if((fourbcmp >= 49)&&(fourbcmp <= 53))
{
fourbctr=ac[26] - 48;
ac[28]=fourbctr;
}
// N 78 110 n new
if((fourbcmp == 78)||(fourbcmp == 111))
{
fourbctr=ac[26]-48;
ac[40+fourbctr]=0;
}
if(((ac[28]) >= 1)&&((ac[28]) <= 4))
{
fourbctr = 1;
while(fourbctr <= 4)
{
if((fourbctr == (ac[28]))||(fourrd > 0))
{
// depth = 5
ac[35]=fourbctr;
if(fourbctr == 1)ac[34]=0;
if(fourbctr == 2)ac[34]=40;
if(fourbctr == 3)ac[34]=80;
if(fourbctr == 4)ac[34]=120;
fourbres=twobuz(aap,ac,ar,ab,af,an);
}
fourbctr=fourbctr+1;
}
}
// depth = 2
if((ac[28]) == 5)
{
ac[35]=5;
ac[34]=160;
fourbres=twobuz(aap,ac,ar,ab,af,an);
}
}
// depth = 1
ac[30]=ac[31];
return fourbres;
}
// end of fourbump;
int nzextcmp(char* uncfn,char* ecright)
{
int nzrxtcmp,nzeoctr,nzeictr,nzeolim;
int nzebase,uurxtcmp,nzeterm;
nzrxtcmp=0;
nzebase=ombrlen(0,0,uncfn)-4;
nzeolim=ixreada(1,1,16,0,ecright);
if(nzebase >= 1)
{
nzeoctr=0;
while(nzeoctr < nzeolim)
{
// depth=3
nzeictr=0;
uurxtcmp=0;
while(nzeictr < 4)
{
nzeterm=onexwchr(((nzeoctr*4)+1+nzeictr),ecright);
if(onexwchr((nzebase+nzeictr),uncfn) != nzeterm)
{
uurxtcmp=1;
// depth = 5
}
nzeictr=nzeictr+1;
}
if(uurxtcmp == 0)nzrxtcmp=1;
nzeoctr=nzeoctr+1;
}
}
return nzrxtcmp;
}
char twofromten(int rawenine)
{
int eightofi[8];
int rtftctr,rfftres,rawentop,rfftrem;
char tfftres;
rtftctr=8;
rawentop=rawenine;
while(rtftctr > 0)
{
rfftrem=divmodi(rawentop,10,1);
rawentop=divmodi(rawentop,10,0);
eightofi[rtftctr-1]=rfftrem;
rtftctr=rtftctr-1;
}
rtftctr=0;
rfftres=0;
while(rtftctr < 8)
{
rfftres=rfftres*2;
rfftres=rfftres+eightofi[rtftctr];
rtftctr=rtftctr+1;
}
if(rfftres > 127)rfftres=rfftres-256;
tfftres = (char)rfftres;
return tfftres;
}
// add font below this line ----------2012
// 4096 = 64 * 64 to 256 * 16
// 64 = 16 * 4
// outer loop 0 to 63 (*64)
// medium loop (medium * 4) + 0 to 3
// medium is 0 to 15
// medium result (0 to 3)*16 + (medium*1)
// inner loop 0 to 3
// -----------------------------------------------
// 20000000-,200000000,20000000-,200000000,
// 201000100,201111100,201111100,201111100,
// 201000100,201111100,201111100,201111100,
// 201000100,201100000,201100000,200001100,
// 201000100,201100000,201100000,200001100,
// 201000100,201100000,201100000,200001100,
// 201000100,201100000,201111100,200001100,
// 20xxxxx0-,20xxxxx0-,-0xxxxx0-,20xxxxx0-,
// 201111100,201111100,201111100,200001100,
// 201111100,201111100,201100100,200001100,
// 200001100,200001100,201100100,200001100,
// 200001100,200001100,201100100,200001100,
// 200001100,201111100,201111100,200001100,
// 200001100,201111100,201111100,200001100,
// 200000000,200000000,200000000,200000000,
// 200000000,200000000,200000000,200000000,
// ,2 , ,2 ,
// Open Source Font Copyright C 2005 by Eric Matteson
// Permission is granted to use this font in
// open source applications programs written for Linux.
// begin open source font ,2 , ,2,
// ); ,2 , ,2,
// -x76543210-x76543210-x76543210-x76543210-
int ifhfg[]={ 200000000,200000000,
200000000,200000000,
200000000,200000000,200000000,200000000,
// -x76543210-x76543210-x76543210-x76543210.
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
// ); ,2 , ,2 ,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
// ); ,2 , ,2 ,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
// ); ,2 , ,2 ,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
// ); ,2 , ,2 ,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
// ); ,2 , ,2 ,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
// ); ,2 , ,2 ,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
// ); ,2 , ,2 ,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
// ); ,2 , ,2 ,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200011000,200100100,200100100,
200000000,200011000,200100100,200100100,
200000000,200011000,200110100,201111100,
200000000,200011000,200110100,201111100,
200000000,200011000,200000000,200100100,
200000000,200011000,200000000,200100100,
200000000,200011000,200000000,200100100,
200000000,200011000,200000000,200100100,
200000000,200000000,200000000,201111100,
200000000,200000000,200000000,201111100,
200000000,200011000,200000000,200100100,
200000000,200011000,200000000,200100100,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
// ); ,2 , ,2 ,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200111100,201110100,200011100,200011000,
200111100,201110100,200011100,200011000,
201001000,201010100,200010100,200001000,
201001000,201010100,200010100,200001000,
201001000,201111100,200111100,200000000,
201001000,201111100,200111100,200000000,
201111100,200101000,201100100,200000000,
201111100,200101000,201100100,200000000,
200001000,201001100,201100100,200000000,
200001100,201001100,201100100,200000000,
201111100,200000000,201111100,200000000,
201111100,200000000,201111100,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
// ); ,2 , ,2 ,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200001100,200110000,200010000,200011000,
200001100,200110000,200010000,200011000,
200011000,200011000,201010100,200011000,
200011000,200011000,201010100,200011000,
200110000,200001100,200111000,201111100,
200110000,200001100,200111000,201111100,
200110000,200001100,200111000,201111100,
200110000,200001100,200111000,201111100,
200011000,200011000,201010100,200011000,
200011000,200011000,201010100,200011000,
200001100,200110000,200010000,200011000,
200001100,200110000,200010000,200011000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
// ); ,2 , ,2 ,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200001100,
200000000,200000000,200000000,200001100,
200000000,200000000,200000000,200001100,
200000000,200000000,200000000,200001100,
200000000,200111100,200000000,200011000,
200000000,200111100,200000000,200011000,
200000000,200111100,200000000,200011000,
200000000,200111100,200000000,200011000,
200001100,200000000,200000000,200110000,
200001100,200000000,200000000,200110000,
200000100,200000000,200001100,201100000,
200000100,200000000,200001100,201100000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
// ); ,2 , ,2 ,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
201111100,200001100,201111100,201111100,
201111100,200001100,201111100,201111100,
201000100,200001100,200001100,200001100,
201000100,200001100,200001100,200001100,
201000100,200001100,200001100,201111100,
201000100,200001100,200001100,201111100,
201000100,200001100,201111100,201111100,
201000100,200001100,201111100,201111100,
201000100,200001100,201100000,200001100,
201000100,200001100,201100000,200001100,
201111100,200001100,201111100,201111100,
201111100,200001100,201111100,201111100,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
// ); ,2 , ,2 ,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
201000100,201111100,201111100,201111100,
201000100,201111100,201111100,201111100,
201000100,201100000,201100000,200001100,
201000100,201100000,201100000,200001100,
201000100,201100000,201100000,200001100,
201000100,201100000,201111100,200001100,
201111100,201111100,201111100,200001100,
201111100,201111100,201100100,200001100,
200001100,200001100,201100100,200001100,
200001100,200001100,201100100,200001100,
200001100,201111100,201111100,200001100,
200001100,201111100,201111100,200001100,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
// ); ,2 , ,2 ,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
201111100,201111100,200000000,200000000,
201111100,201111100,200000000,200000000,
201000100,201001100,200000100,200001100,
201000100,201000100,200000100,200001100,
201000100,201000100,200000000,200000000,
201111100,201001100,200000000,200000000,
201111100,201111100,200000000,200000000,
201000100,201111100,200000000,200000000,
201000100,200001100,200000100,200000100,
201000100,200001100,200000100,200000100,
201111100,201111100,200000000,200011000,
201111100,201111100,200000000,200011000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
// ); ,2 , ,2 ,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000100,200000000,201100000,200010000,
200000100,200000000,201100000,200111000,
200011000,201111100,200011000,201100100,
200011000,201111100,200011000,201100100,
201100000,200000000,200001100,201000100,
201100000,200000000,200001100,201001000,
200011000,200000000,200011000,200010000,
200011000,200000000,200011000,200010000,
200000100,201111100,201100000,200000000,
200000100,201111100,201100000,200000000,
200000000,200000000,200000000,200010000,
200000000,200000000,200000000,200010000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
// ); ,2 , ,2 ,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
201111100,201111110,201110000,201111100,
201111100,201111100,201110000,201111100,
201000100,201000100,201001100,201100000,
201000100,201000100,201001100,201100000,
201010100,201000100,201001100,201100000,
201010100,201000100,201001100,201100000,
201010100,201111100,201110000,201100000,
201011100,201111100,201110000,201100000,
201000100,201000100,201001100,201100000,
201110100,201000100,201001100,201100000,
200000000,201000100,201110000,201111100,
200000000,201000100,201110000,201111100,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
// ); ,2 , ,2 ,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
201100000,201111100,201111100,201110000,
201100000,201111100,201111100,201110000,
201011000,201100000,201100000,201001100,
201011000,201100000,201100000,201001100,
201001100,201100000,201100000,201000000,
201001100,201100000,201100000,201000000,
201001100,201111100,201111100,201111100,
201001100,201111100,201111100,201111100,
201011000,201100000,201100000,201001100,
201011000,201100000,201100000,201001100,
201100000,201111100,201100000,201110000,
201100000,201111100,201100000,201110000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
// ); ,2 , ,2 ,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
201000100,200111100,200111100,201001100,
201000100,200111100,200111100,201001100,
201000100,200011000,200011000,201010000,
201000100,200011000,200011000,201010000,
201111100,200011000,200011000,201100000,
201111100,200011000,200011000,201100000,
201111100,200011000,200011000,201010000,
201111100,200011000,200011000,201010000,
201000100,200011000,201001100,201001100,
201000100,200011000,201001100,201001100,
201000100,200111100,201111100,200000000,
201000100,200111100,201111100,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
// ); ,2 , ,2 ,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
201000000,201111110,201000100,200011100,
201000000,201111110,201000100,200011100,
201000000,201010100,201100100,200100100,
201000000,201010100,201100100,200100100,
201000000,201010100,201100100,201000100,
201000000,201010100,201010100,201000100,
201000000,201010100,201010100,201000100,
201000000,201010100,201010100,201000100,
201000000,201000100,201001100,201001000,
201000000,201000100,201001100,201001000,
201111100,201000100,201000100,201111000,
201111100,201000100,201000100,201111000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
// ); ,2 , ,2 ,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
201111100,200011100,201111100,201111000,
201111100,200011100,201111100,201111000,
201000100,200100100,201000100,201100000,
201000100,200100100,201000100,201100000,
201000100,201000100,201111100,200110000,
201000100,201000100,201111100,200011000,
201111100,201000100,201100000,200001100,
201111100,201001000,201010000,200001100,
201100000,201011000,201010000,200000100,
201100000,201011000,201001000,200000100,
201100000,201110100,201001000,200011000,
201100000,201110100,201001000,201110000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
// ); ,2 , ,2 ,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
201111100,201000100,201000100,201010100,
201111100,201000100,201000100,201010100,
200011000,201000100,201000100,201010100,
200011000,201000100,201000100,201011100,
200011000,201000100,200101000,201001100,
200011000,201000100,200101000,201101000,
200011000,201000100,200101000,200110000,
200011000,201000100,200101000,200110000,
200011000,201000100,200010000,200100000,
200011000,201000100,200010000,200100000,
200011000,201111100,200000000,200000000,
200011000,201111100,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
// ); ,2 , ,2 ,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
201000100,201000100,201111100,201110000,
201000100,201000100,201111100,201110000,
200101000,200100100,200001000,201000000,
200101000,200100100,200001000,201000000,
200010000,200011000,200010000,201000000,
200010000,200011000,200010000,201000000,
200101000,200011000,201000000,201000000,
200101000,200011000,201000000,201000000,
201000100,200011000,201111000,201000000,
201000100,200011000,201111000,201000000,
200000000,200000000,200000000,201110000,
200000000,200000000,200000000,201110000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
// ); ,2 , ,2 ,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
201000000,200011100,200011000,200000000,
201000000,200011100,200011000,200000000,
200100000,200000100,200100100,200000000,
200100000,200000100,200100100,200000000,
200010000,200000100,201000100,200000000,
200010000,200000100,201000000,200000000,
200001000,200000100,200000000,200000000,
200001000,200000100,200000000,200000000,
200000100,200000100,200000000,200000000,
200000100,200000100,200000000,200000000,
200000100,200011100,200000000,201111100,
200000000,200011100,200000000,201111100,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
// ); ,2 , ,2 ,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
201000000,200000000,200000000,200000000,
201000000,200000000,200000000,200000000,
201100000,201111100,201000000,200000000,
201100000,201111100,201000000,200000000,
200000000,200000100,201000000,201111100,
200000000,200000100,201000000,201111100,
200000000,201111100,201111100,201100000,
200000000,201111100,201111100,201100000,
200000000,201000100,201000100,201100000,
200000000,201000100,201000100,201100000,
200000000,201111100,201111100,201111100,
200000000,201111100,201111100,201111100,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
// ); ,2 , ,2 ,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000100,201111100,201111000,201111100,
200000100,201111100,201111000,201111100,
200000100,201000100,201000000,201001000,
200000100,201000100,201000000,201001000,
201111100,201111100,201111100,201110000,
201111100,201111100,201111100,201110000,
201000100,201000000,201000000,200010000,
201000100,201000000,201000000,200010000,
201111100,201111100,201000000,200110000,
201111100,201111100,201000000,200110000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
// ); ,2 , ,2 ,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
201000000,200001000,200001000,200100100,
201000000,200001000,200001000,200100100,
201000000,200000000,200000000,200101000,
201000000,200000000,200000000,200101000,
201111100,200001000,200001000,200110000,
201111100,200001000,200001000,200110000,
201000100,200001000,200001000,200101000,
201000100,200001000,200001000,200101000,
201000100,200001000,200111000,200100100,
201000100,200001000,200111000,200100100,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
// ); ,2 , ,2 ,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,201100000,201000100,200000000,
200000000,201100000,201000100,200000000,
200010000,201010000,201100100,200111100,
200010000,201010000,201100100,200111100,
200010000,201011100,201010100,200100100,
200010000,201011100,201010100,200100100,
200010000,201010100,201001100,200100100,
200010000,201010100,201001100,200100100,
200011110,201000100,201000100,200111100,
200011110,201000100,201000100,200111100,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
// ); ,2 , ,2 ,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200111100,201111000,200000000,201110000,
200111100,201111000,200000000,201110000,
200100100,201001000,200111100,201000000,
200100100,201001000,200111100,201000000,
200011100,201110000,200100000,201111100,
200011100,201110000,200100000,201111100,
200100000,200010000,200100000,200000100,
200100000,200010000,200100000,200000100,
200100000,200011100,200100000,200011100,
200100000,200011100,200100000,200011100,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
// ); ,2 , ,2 ,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200100100,
200000000,200000000,200000000,200100100,
200010000,200100100,201000100,200010100,
200010000,200100100,201000100,200010100,
201111100,200100100,200101000,201011100,
201111100,200100100,200101000,201011100,
200010000,200100100,200010000,201010000,
200010000,200100100,200010000,201010000,
200010000,200111100,200000000,200100000,
200010000,200111100,200000000,200100000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
// ); ,2 , ,2 ,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
201000100,201000100,200111100,200011100,
201000100,201000100,200111100,200011100,
200101000,200101000,200001000,200100000,
200101000,200101000,200001000,200100000,
200010000,200010000,200001000,201100000,
200010000,200010000,200001000,201100000,
200101000,200010000,200010000,200100000,
200101000,200010000,200010000,200100000,
201000100,200010000,200111100,200011100,
201000100,200010000,200111100,200011100,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
// ); ,2 , ,2 ,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200010000,201110000,201110000,200010000,
200010000,201110000,201110000,200010000,
200010000,200001000,201010100,200101000,
200010000,200001000,201010100,200101000,
200000000,200001100,200011100,201000100,
200000000,200001100,200011100,201000100,
200010000,200001000,200000000,201000100,
200010000,200001000,200000000,201000100,
200010000,201110000,200000000,201111100,
200010000,201110000,200000000,201111100,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
// ); ,2 , ,2 ,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
// ); ,2 , ,2 ,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
// ); ,2 , ,2 ,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
// ); ,2 , ,2 ,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
// ); ,2 , ,2 ,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
// ); ,2 , ,2 ,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
// ); ,2 , ,2 ,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
// ); ,2 , ,2 ,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
// ); ,2 , ,2 ,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
// ); ,2 , ,2 ,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
// ); ,2 , ,2 ,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
// ); ,2 , ,2 ,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
// ); ,2 , ,2 ,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
// ); ,2 , ,2 ,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
// ); ,2 , ,2 ,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
// ); ,2 , ,2 ,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
// ); ,2 , ,2 ,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
// ); ,2 , ,2 ,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
// ); ,2 , ,2 ,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
// ); ,2 , ,2 ,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
// ); ,2 , ,2 ,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
// ); ,2 , ,2 ,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
// ); ,2 , ,2 ,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
// ); ,2 , ,2 ,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
// ); ,2 , ,2 ,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
// ); ,2 , ,2 ,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
// ); ,2 , ,2 ,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
// ); ,2 , ,2 ,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
// ); ,2 , ,2 ,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
// ); ,2 , ,2 ,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
// ); ,2 , ,2 ,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
// ); ,2 , ,2 ,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000,
200000000,200000000,200000000,200000000};
// -x76543210-x76543210-x76543210-x76543210..
// end of font
void fonthfill(char fhf[])
{
int fholop,fhmedlop,fhilop,fhhsub,fhdsub,fhdterm;
char tfhf[4096];
// 4096 = 64 * 64 to 256 * 16
// 64 = 16 * 4
// outer loop 0 to 63 (*64)
// medium loop (medium * 4)+0 to 3 medium is 0 to 15
// medium result (0 to 3)*16 + (medium*1)
// inner loop 0 to 3
// --------------------------------
fholop=0;
while(fholop < 64)
{
fhmedlop=0;
while(fhmedlop < 16)
{
fhilop=0;
while(fhilop < 4)
{
fhhsub = (fholop * 64)+(fhmedlop * 4)+fhilop;
fhdsub = (fholop * 64)+(fhilop * 16)+fhmedlop;
fhdterm = ifhfg[fhhsub];
tfhf[fhdsub]=twofromten(fhdterm);
fhilop=fhilop+1;
}
fhmedlop=fhmedlop+1;
}
fholop=fholop+1;
}
speeftex(fhf,tfhf);
}
// end of void fonthfill(char fhf[]);
// end of xwview14.c
// this is the last line of this program
/* After end of program
0 new messages