home *** CD-ROM | disk | FTP | other *** search
- Path: uunet!zephyr.ens.tek.com!tekgen!tekred!saab!billr
- From: billr@saab.CNA.TEK.COM (Bill Randle)
- Newsgroups: comp.sources.games
- Subject: v08i035: conquer4 - middle earth multi-player game (V4), Patch6d
- Message-ID: <4603@tekred.CNA.TEK.COM>
- Date: 21 Sep 89 13:16:30 GMT
- Sender: news@tekred.CNA.TEK.COM
- Lines: 1529
- Approved: billr@saab.CNA.TEK.COM
-
- Submitted-by: Adam Bryant <adb@cs.bu.edu>
- Posting-number: Volume 8, Issue 35
- Archive-name: conquer4/Patch6d
- Patch-To: conquer4: Volume 6, Issue 83-96
-
-
- #!/bin/sh
- # this is part 4 of a multipart archive
- # do not concatenate these parts, unpack them in order with /bin/sh
- # file patchV4.6 continued
- #
- CurArch=4
- if test ! -r s2_seq_.tmp
- then echo "Please unpack part 1 first!"
- exit 1; fi
- ( read Scheck
- if test "$Scheck" != $CurArch
- then echo "Please unpack part $Scheck next!"
- exit 1;
- else exit 0; fi
- ) < s2_seq_.tmp || exit 1
- sed 's/^X//' << 'SHAR_EOF' >> patchV4.6
- X case CH_MOVEMENT:
- X! mvaddstr(ypos++,COLS/2+5," - --------");
- X continue;
- X case CH_REPRO:
- X x = 2*Munits[i]*Mvalues[i];
- X***************
- X*** 927,933 ****
- X if(sct[i][j].altitude==WATER) temp++;
- X if(temp>=7) placed=0;
- X }
- X! teraform( x,y,1,25 );
- X break;
- X case RANDOM:
- X while ((placed == 0)&&(n++<2000)){
- X--- 929,935 ----
- X if(sct[i][j].altitude==WATER) temp++;
- X if(temp>=7) placed=0;
- X }
- X! if(placed) teraform( x,y,1,25 );
- X break;
- X case RANDOM:
- X while ((placed == 0)&&(n++<2000)){
- X***************
- X*** 960,966 ****
- X for(i=x-1;i<=x+1;i++) for(j=y-1;j<=y+1;j++)
- X if(sct[i][j].owner!=0) placed=0;
- X }
- X! teraform( x,y,1,40 );
- X break;
- X case FAIR:
- X while ((placed == 0)&&(n++<2000)) {
- X--- 962,968 ----
- X for(i=x-1;i<=x+1;i++) for(j=y-1;j<=y+1;j++)
- X if(sct[i][j].owner!=0) placed=0;
- X }
- X! if(placed) teraform( x,y,1,40 );
- X break;
- X case FAIR:
- X while ((placed == 0)&&(n++<2000)) {
- X***************
- X*** 1012,1018 ****
- X }
- X }
- X
- X! teraform( x,y,1,65 );
- X break;
- X case GREAT:
- X placed = 0;
- X--- 1014,1020 ----
- X }
- X }
- X
- X! if(placed) teraform( x,y,1,65 );
- X break;
- X case GREAT:
- X placed = 0;
- X***************
- X*** 1069,1075 ****
- X if(temp>=15) placed=0;
- X }
- X }
- X! teraform( x,y,1,100 );
- X }
- X
- X /*done with one try*/
- X--- 1071,1077 ----
- X if(temp>=15) placed=0;
- X }
- X }
- X! if(placed) teraform( x,y,1,100 );
- X }
- X
- X /*done with one try*/
- X***************
- X*** 1222,1228 ****
- X short ypos=4;
- X int i,j;
- X
- X! mvprintw(ypos,0,"The List of Possible Nation Classes:");
- X ypos+=2;
- X mvprintw(ypos++,0," %-8s %4s %15s %8s %4s", "class", "who",
- X "", "magic", "cost");
- X--- 1224,1230 ----
- X short ypos=4;
- X int i,j;
- X
- X! mvaddstr(ypos,0,"The List of Possible Nation Classes:");
- X ypos+=2;
- X mvprintw(ypos++,0," %-8s %4s %15s %8s %4s", "class", "who",
- X "", "magic", "cost");
- X***************
- X*** 1244,1250 ****
- X }
- X ypos++;
- X while(chk==FALSE){
- X! mvprintw(ypos,0,"Enter the number of your choice: ");
- X clrtoeol();
- X refresh();
- X tmp = get_number();
- X--- 1246,1252 ----
- X }
- X ypos++;
- X while(chk==FALSE){
- X! mvaddstr(ypos,0,"Enter the number of your choice: ");
- X clrtoeol();
- X refresh();
- X tmp = get_number();
- X*** odisplay.c Wed Sep 20 21:40:54 1989
- X--- display.c Wed Sep 20 21:41:33 1989
- X***************
- X*** 345,351 ****
- X mvaddch(y,2*x,ch);
- X if ( otherdismode > 0 ) {
- X highlight(x,y,otherhilmode);
- X! ch=get_display_for(x,y,otherdismode,otherhilmode);
- X mvaddch(y,2*x+1,ch);
- X }
- X }
- X--- 345,351 ----
- X mvaddch(y,2*x,ch);
- X if ( otherdismode > 0 ) {
- X highlight(x,y,otherhilmode);
- X! ch=get_display_for(x,y,otherdismode);
- X mvaddch(y,2*x+1,ch);
- X }
- X }
- X*** omain.c Wed Sep 20 21:40:55 1989
- X--- main.c Wed Sep 20 21:41:34 1989
- X***************
- X*** 19,25 ****
- X #include <signal.h>
- X #include <pwd.h>
- X
- X! extern int armornvy;
- X
- X char fison[FILELTH];
- X char *getpass();
- X--- 19,25 ----
- X #include <signal.h>
- X #include <pwd.h>
- X
- X! extern int armornvy,roads_this_turn,terror_adj;
- X
- X char fison[FILELTH];
- X char *getpass();
- X***************
- X*** 388,397 ****
- X /* check if user is super-user nation[0] */
- X /* else setup cursor to capitol*/
- X if((country==0)||(ismonst(ntn[country].active))) {
- X! xcurs=LINES/2;
- X! xoffset=0;
- X! ycurs=COLS/4;
- X! yoffset=0;
- X redraw=FULL;
- X /* create gods lock file but do not limit access */
- X (void) aretheyon();
- X--- 388,395 ----
- X /* check if user is super-user nation[0] */
- X /* else setup cursor to capitol*/
- X if((country==0)||(ismonst(ntn[country].active))) {
- X! xcurs=MAPX/2-1;
- X! ycurs=MAPY/2-1;
- X redraw=FULL;
- X /* create gods lock file but do not limit access */
- X (void) aretheyon();
- X***************
- X*** 398,404 ****
- X } else {
- X if(curntn->active==INACTIVE) {
- X standout();
- X! mvprintw(LINES-2,0,"Sorry, for some reason, your country no longer exists.");
- X mvprintw(LINES-1,0,"If there is a problem, please send mail to %s", LOGIN);
- X if (strcmp(LOGIN, ntn[0].leader)!=0) {
- X printw(" or %s",ntn[0].leader);
- X--- 396,402 ----
- X } else {
- X if(curntn->active==INACTIVE) {
- X standout();
- X! mvaddstr(LINES-2,0,"Sorry, for some reason, your country no longer exists.");
- X mvprintw(LINES-1,0,"If there is a problem, please send mail to %s", LOGIN);
- X if (strcmp(LOGIN, ntn[0].leader)!=0) {
- X printw(" or %s",ntn[0].leader);
- X***************
- X*** 411,418 ****
- X bye(TRUE);
- X }
- X if(aretheyon()==TRUE) {
- X! mvprintw(LINES-2,0,"Sorry, country is already logged in.");
- X! mvprintw(LINES-1,0,"Please try again later.");
- X beep();
- X refresh();
- X getch();
- X--- 409,416 ----
- X bye(TRUE);
- X }
- X if(aretheyon()==TRUE) {
- X! mvaddstr(LINES-2,0,"Sorry, country is already logged in.");
- X! mvaddstr(LINES-1,0,"Please try again later.");
- X beep();
- X refresh();
- X getch();
- X***************
- X*** 422,442 ****
- X #ifdef TRADE
- X checktrade();
- X #endif TRADE
- X! if(curntn->capx>15) {
- X! xcurs=15;
- X! xoffset= ((int)curntn->capx-15);
- X! } else {
- X! xcurs= curntn->capx;
- X! xoffset= 0;
- X! }
- X! if(curntn->capy>10) {
- X! ycurs=10;
- X! yoffset= ((int)curntn->capy-10);
- X! } else {
- X! yoffset= 0;
- X! ycurs= curntn->capy;
- X! }
- X }
- X updmove(curntn->race,country);
- X
- X /* open output for future printing*/
- X--- 420,431 ----
- X #ifdef TRADE
- X checktrade();
- X #endif TRADE
- X! xcurs = curntn->capx;
- X! ycurs = curntn->capy;
- X }
- X+ xoffset = 0;
- X+ yoffset = 0;
- X+ centermap();
- X updmove(curntn->race,country);
- X
- X /* open output for future printing*/
- X***************
- X*** 468,474 ****
- X (void) strcpy(sysmail,getenv("MAIL"));
- X }
- X #endif SYSMAIL
- X! mvprintw(LINES-1, COLS-20, "PRESS ANY KEY");
- X refresh();
- X getch(); /* get response from copyscreen */
- X
- X--- 457,463 ----
- X (void) strcpy(sysmail,getenv("MAIL"));
- X }
- X #endif SYSMAIL
- X! mvaddstr(LINES-1, COLS-20, "PRESS ANY KEY");
- X refresh();
- X getch(); /* get response from copyscreen */
- X
- X***************
- X*** 556,568 ****
- X switch(ch) {
- X case EXT_CMD: /* extended command */
- X ext_cmd( -1 );
- X curntn->tgold -= MOVECOST;
- X return(TRUE);
- X break;
- X case '': /* redraw the screen */
- X- whatcansee(); /* what can they see */
- X centermap();
- X- clear();
- X redraw=FULL;
- X break;
- X #ifdef DEBUG
- X--- 545,557 ----
- X switch(ch) {
- X case EXT_CMD: /* extended command */
- X ext_cmd( -1 );
- X+ makebottom();
- X+ refresh();
- X curntn->tgold -= MOVECOST;
- X return(TRUE);
- X break;
- X case '': /* redraw the screen */
- X centermap();
- X redraw=FULL;
- X break;
- X #ifdef DEBUG
- X***************
- X*** 574,580 ****
- X break;
- X #endif /* DEBUG */
- X case 'a': /*army report*/
- X! redraw=PART;
- X armyrpt(0);
- X curntn->tgold -= MOVECOST;
- X break;
- X--- 563,569 ----
- X break;
- X #endif /* DEBUG */
- X case 'a': /*army report*/
- X! redraw=FULL;
- X armyrpt(0);
- X curntn->tgold -= MOVECOST;
- X break;
- X***************
- X*** 602,608 ****
- X break;
- X case 'd': /*change display*/
- X newdisplay();
- X- curntn->tgold -= MOVECOST;
- X break;
- X case 'D': /*draft*/
- X draft();
- X--- 591,596 ----
- X***************
- X*** 676,681 ****
- X--- 664,670 ----
- X break;
- X case 'm': /*move selected item to new x,y */
- X mymove();
- X+ makebottom();
- X curntn->tgold -= MOVECOST;
- X return(TRUE);
- X break;
- X***************
- X*** 793,798 ****
- X--- 782,800 ----
- X curntn->tgold -= MOVECOST;
- X wmessage();
- X break;
- X+ case 'X': /*jump to capitol*/
- X+ redraw = PART;
- X+ pager=0;
- X+ selector=0;
- X+ jump_to(TRUE);
- X+ break;
- X+ case 'x': /*jump to a location*/
- X+ redraw=PART;
- X+ pager=0;
- X+ selector=0;
- X+ jump_to(FALSE);
- X+ makebottom();
- X+ break;
- X case '7':
- X case 'y': /*move north-west*/
- X pager=0;
- X***************
- X*** 808,813 ****
- X--- 810,816 ----
- X break;
- X case 'Z': /*move civilians up to 2 spaces*/
- X moveciv();
- X+ makebottom();
- X curntn->tgold -= MOVECOST;
- X break;
- X case 'z': /*login as new user */
- X***************
- X*** 816,822 ****
- X ((pwent=getpwnam(ntn[0].leader))==NULL || owneruid != pwent->pw_uid )) break;
- X #endif
- X clear();
- X! redraw=PART;
- X if(country != 0) {
- X fprintf(fexe,"L_NGOLD\t%d \t%d \t%ld \t0 \t0 \t%s\n",
- X XNAGOLD ,country,curntn->tgold,"null");
- X--- 819,825 ----
- X ((pwent=getpwnam(ntn[0].leader))==NULL || owneruid != pwent->pw_uid )) break;
- X #endif
- X clear();
- X! redraw=FULL;
- X if(country != 0) {
- X fprintf(fexe,"L_NGOLD\t%d \t%d \t%ld \t0 \t0 \t%s\n",
- X XNAGOLD ,country,curntn->tgold,"null");
- X***************
- X*** 881,886 ****
- X--- 884,891 ----
- X curntn = &ntn[country];
- X
- X fprintf(stderr,"\n");
- X+ roads_this_turn=0;
- X+ terror_adj=0;
- X readdata();
- X execute(FALSE);
- X
- X***************
- X*** 888,912 ****
- X updmove(curntn->race,country);
- X /*go to that nations capitol*/
- X if((country==0)||(!isntn(ntn[country].active))) {
- X! xcurs=15; xoffset=15;
- X! ycurs=15; yoffset=15;
- X } else {
- X! if(curntn->capx>15) {
- X! xcurs=15;
- X! xoffset= ((int)curntn->capx-15);
- X! } else {
- X! xcurs= curntn->capx;
- X! xoffset= 0;
- X! }
- X! if(curntn->capy>10) {
- X! ycurs=10;
- X! yoffset= ((int)curntn->capy-10);
- X! } else {
- X! yoffset= 0;
- X! ycurs= curntn->capy;
- X! }
- X }
- X! whatcansee();
- X redraw=PART;
- X break;
- X case '?': /*display help screen*/
- X--- 893,906 ----
- X updmove(curntn->race,country);
- X /*go to that nations capitol*/
- X if((country==0)||(!isntn(ntn[country].active))) {
- X! xcurs=MAPX/2-1;
- X! ycurs=MAPY/2-1;
- X } else {
- X! xcurs=curntn->capx;
- X! ycurs=curntn->capy;
- X }
- X! xoffset = yoffset = 0;
- X! centermap();
- X redraw=PART;
- X break;
- X case '?': /*display help screen*/
- X***************
- X*** 1300,1306 ****
- X fclose(timefp);
- X }
- X #endif /* TIMELOG */
- X! mvprintw(LINES-1, COLS-20, "PLEASE WAIT");
- X refresh();
- X }
- X
- X--- 1294,1300 ----
- X fclose(timefp);
- X }
- X #endif /* TIMELOG */
- X! mvaddstr(LINES-1, COLS-20, "PLEASE WAIT");
- X refresh();
- X }
- X
- X***************
- X*** 1398,1404 ****
- X /* other information */
- X mvprintw(LINES-6,0,"The Diety: %s", LOGIN);
- X if (strcmp(LOGIN,ntn[0].leader)==0) {
- X! mvprintw(LINES-5,0,"The Demi-God: [none]");
- X } else {
- X mvprintw(LINES-5,0,"The Demi-God: %s", ntn[0].leader);
- X }
- X--- 1392,1398 ----
- X /* other information */
- X mvprintw(LINES-6,0,"The Diety: %s", LOGIN);
- X if (strcmp(LOGIN,ntn[0].leader)==0) {
- X! mvaddstr(LINES-5,0,"The Demi-God: [none]");
- X } else {
- X mvprintw(LINES-5,0,"The Demi-God: %s", ntn[0].leader);
- X }
- X*** onpc.c Wed Sep 20 21:40:59 1989
- X--- npc.c Wed Sep 20 21:41:34 1989
- X***************
- X*** 840,862 ****
- X curntn->dstatus[x]=HOSTILE;
- X fprintf(fnews,"2.\tnation %s and %s announce ceasefire\n",curntn->name,ntn[x].name);
- X if( isnotpc(ntn[x].active) ) continue;
- X! mailopen(x);
- X! fprintf(fm,"nation %s and you negotiate a ceasefire\n",curntn->name);
- X! mailclose();
- X } else if((oldstat[x]==WAR)&&(curntn->dstatus[x]==WAR)){
- X fprintf(fnews,"2.\tnation %s stays at war with %s\n",curntn->name,ntn[x].name);
- X } else if((oldstat[x]<WAR)&&(curntn->dstatus[x]==WAR)){
- X fprintf(fnews,"2.\tnation %s goes to war with %s\n",curntn->name,ntn[x].name);
- X if( isnotpc(ntn[x].active) ) continue;
- X! mailopen(x);
- X! fprintf(fm,"nation %s goes to war with you\n",curntn->name);
- X! mailclose();
- X } else if((oldstat[x]!=JIHAD)&&(curntn->dstatus[x]==JIHAD)){
- X fprintf(fnews,"2.\tnation %s announces a jihad with %s\n",curntn->name,ntn[x].name);
- X if( isnotpc(ntn[x].active) ) continue;
- X! mailopen(x);
- X! fprintf(fm,"nation %s announces a jihad with you\n",curntn->name);
- X! mailclose();
- X }
- X }
- X }
- X--- 840,868 ----
- X curntn->dstatus[x]=HOSTILE;
- X fprintf(fnews,"2.\tnation %s and %s announce ceasefire\n",curntn->name,ntn[x].name);
- X if( isnotpc(ntn[x].active) ) continue;
- X! if (mailopen(x)!=(-1)) {
- X! fprintf(fm,"Message from Conquer\n\n");
- X! fprintf(fm,"Nation %s and you negotiate a ceasefire\n",curntn->name);
- X! mailclose(x);
- X! }
- X } else if((oldstat[x]==WAR)&&(curntn->dstatus[x]==WAR)){
- X fprintf(fnews,"2.\tnation %s stays at war with %s\n",curntn->name,ntn[x].name);
- X } else if((oldstat[x]<WAR)&&(curntn->dstatus[x]==WAR)){
- X fprintf(fnews,"2.\tnation %s goes to war with %s\n",curntn->name,ntn[x].name);
- X if( isnotpc(ntn[x].active) ) continue;
- X! if (mailopen(x)!=(-1)) {
- X! fprintf(fm,"Message from Conquer\n\n");
- X! fprintf(fm,"Nation %s goes to war with you\n",curntn->name);
- X! mailclose(x);
- X! }
- X } else if((oldstat[x]!=JIHAD)&&(curntn->dstatus[x]==JIHAD)){
- X fprintf(fnews,"2.\tnation %s announces a jihad with %s\n",curntn->name,ntn[x].name);
- X if( isnotpc(ntn[x].active) ) continue;
- X! if(mailopen(x)!=(-1)) {
- X! fprintf(fm,"Message from Conquer\n\n");
- X! fprintf(fm,"nation %s announces a jihad with you\n",curntn->name);
- X! mailclose(x);
- X! }
- X }
- X }
- X }
- X***************
- X*** 865,884 ****
- X /* Find the average world food value per sector
- X * and the average tradegood value per sector.
- X * This is used for unseen sectors and unseen
- X! * armies. */
- X static void
- X find_avg_sector ()
- X {
- X! int armynum;
- X! int i;
- X! int nation;
- X! int repeat;
- X! struct s_sector *sptr; /* used to speed up this function */
- X! register int x,y;
- X! register long total_food = 0;
- X! int total_sectors;
- X! register long total_tg = 0;
- X! register long useable_land = 0;
- X
- X for(x=0;x<MAPX;x++) for(y=0;y<MAPY;y++) {
- X sptr = &sct[x][y];
- X--- 871,886 ----
- X /* Find the average world food value per sector
- X * and the average tradegood value per sector.
- X * This is used for unseen sectors and unseen
- X! * armies.
- X! */
- X static void
- X find_avg_sector ()
- X {
- X! int armynum, i, nation, repeat, total_sectors, total_food = 0;
- X! struct s_sector *sptr; /* used to speed up this function */
- X! register int x,y;
- X! register long total_tg = 0;
- X! register long useable_land = 0;
- X
- X for(x=0;x<MAPX;x++) for(y=0;y<MAPY;y++) {
- X sptr = &sct[x][y];
- X***************
- X*** 892,905 ****
- X }
- X }
- X }
- X! Avg_food = total_food / useable_land;
- X! Avg_tradegood = total_tg / useable_land;
- X
- X for(nation=1;nation<NTOTAL;nation++) {
- X if(isntn(ntn[nation].active)
- X && !COUNT_ARMIES(nation,country)) {
- X /* Count the number of sectors which are occupied by each
- X! * nation's armies. */
- X total_sectors = 0;
- X for(armynum=1;armynum<MAXARM;armynum++)
- X if(ntn[nation].arm[armynum].sold > 0) {
- X--- 894,914 ----
- X }
- X }
- X }
- X! if (useable_land>0) {
- X! Avg_food = total_food / useable_land;
- X! Avg_tradegood = total_tg / useable_land;
- X! } else {
- X! /* for stupidities sake */
- X! Avg_food = 0;
- X! Avg_tradegood = 0;
- X! }
- X
- X for(nation=1;nation<NTOTAL;nation++) {
- X if(isntn(ntn[nation].active)
- X && !COUNT_ARMIES(nation,country)) {
- X /* Count the number of sectors which are occupied by each
- X! * nation's armies.
- X! */
- X total_sectors = 0;
- X for(armynum=1;armynum<MAXARM;armynum++)
- X if(ntn[nation].arm[armynum].sold > 0) {
- X***************
- X*** 913,923 ****
- X if (!repeat)
- X total_sectors++;
- X }
- X!
- X! Avg_soldiers[nation] = ntn[nation].tmil / total_sectors;
- X }
- X }
- X }
- X void
- X nationrun()
- X {
- X--- 922,934 ----
- X if (!repeat)
- X total_sectors++;
- X }
- X! if (total_sectors > 0)
- X! Avg_soldiers[nation] = ntn[nation].tmil / total_sectors;
- X! else Avg_soldiers[nation] = 0;
- X }
- X }
- X }
- X+
- X void
- X nationrun()
- X {
- X***************
- X*** 927,933 ****
- X float hunger;
- X long zz;
- X check();
- X! prep(country,FALSE,FALSE);
- X
- X for(x=0;x<MAPX;x++) for(y=0;y<MAPY;y++) attr[x][y]=0;
- X
- X--- 938,944 ----
- X float hunger;
- X long zz;
- X check();
- X! prep(country,FALSE);
- X
- X for(x=0;x<MAPX;x++) for(y=0;y<MAPY;y++) attr[x][y]=0;
- X
- X***************
- X*** 967,978 ****
- X if((curntn->dstatus[x] >= HOSTILE)
- X && (ispc(ntn[x].active)))
- X if (rand()%4 == 0) { /* send the message!! */
- X! printf("Sent message to %s\n",ntn[x].name);
- X! mailopen(x);
- X! fprintf(fm,"Message to %s from %s (%s of year %d)\n\n"
- X! ,ntn[x].name,curntn->name,PSEASON(TURN),YEAR(TURN));
- X! makemess(rand()%5 +1,fm);
- X! mailclose();
- X }
- X }
- X #endif SPEW
- X--- 978,990 ----
- X if((curntn->dstatus[x] >= HOSTILE)
- X && (ispc(ntn[x].active)))
- X if (rand()%4 == 0) { /* send the message!! */
- X! if (mailopen(x)!=(-1)) {
- X! fprintf(fm,"Message to %s from %s (%s of year %d)\n\n"
- X! ,ntn[x].name,curntn->name,PSEASON(TURN),YEAR(TURN));
- X! makemess(rand()%5 +1,fm);
- X! mailclose(x);
- X! printf("Sent message to %s\n",ntn[x].name);
- X! }
- X }
- X }
- X #endif SPEW
- X***************
- X*** 1287,1293 ****
- X register short natn;
- X {
- X register int i,j;
- X! int repeat;
- X register int x,y;
- X
- X if (COUNT_ARMIES(natn,country)) {
- X--- 1299,1305 ----
- X register short natn;
- X {
- X register int i,j;
- X! int repeat;
- X register int x,y;
- X
- X if (COUNT_ARMIES(natn,country)) {
- X***************
- X*** 1336,1341 ****
- X--- 1348,1354 ----
- X if(ISCITY(sct[x][y].designation))
- X attr[x][y] += 50;
- X /* should spread 3000 points over country */
- X+ if (ntn[country].tciv>0)
- X attr[x][y]+=3000*sct[x][y].people/ntn[country].tciv;
- X }
- X }
- X*** otrade.c Wed Sep 20 21:41:00 1989
- X--- trade.c Wed Sep 20 21:41:35 1989
- X***************
- X*** 71,76 ****
- X--- 71,77 ----
- X long lvar1[MAXITM], lvar2[MAXITM], holdlong, holdlong2, armyvalue();
- X void tradeerr(), setaside(), takeback();
- X
- X+ clear();
- X while (done==FALSE) {
- X itemnum=0;
- X done=TRUE;
- X***************
- X*** 90,96 ****
- X }
- X }
- X if (notopen==FALSE) fclose(tfile);
- X! clear();
- X /* display header */
- X standout();
- X mvaddstr(0,27,"COMMODITIES EXCHANGE");
- X--- 91,98 ----
- X }
- X }
- X if (notopen==FALSE) fclose(tfile);
- X! move(0,0);
- X! clrtobot();
- X /* display header */
- X standout();
- X mvaddstr(0,27,"COMMODITIES EXCHANGE");
- X***************
- X*** 97,103 ****
- X mvaddstr(1,20,"No Guarantees... All Trades Final");
- X standend();
- X count=3;
- X! mvprintw(count,0," Nation Item Price");
- X /* give some minor items for purchase */
- X mvprintw(++count,0,"%2d) %-20s",GETFOOD,"Merchants Guild");
- X mvprintw(count,30,"%9ld %s",GODFOOD,commodities[TDFOOD]);
- X--- 99,105 ----
- X mvaddstr(1,20,"No Guarantees... All Trades Final");
- X standend();
- X count=3;
- X! mvaddstr(count,0," Nation Item Price");
- X /* give some minor items for purchase */
- X mvprintw(++count,0,"%2d) %-20s",GETFOOD,"Merchants Guild");
- X mvprintw(count,30,"%9ld %s",GODFOOD,commodities[TDFOOD]);
- X***************
- X*** 147,153 ****
- X standout();
- X mvaddstr(0,27,"COMMODITIES EXCHANGE");
- X standend();
- X! mvprintw(2,0," Nation Item Minimum Price");
- X count=2;
- X }
- X }
- X--- 149,155 ----
- X standout();
- X mvaddstr(0,27,"COMMODITIES EXCHANGE");
- X standend();
- X! mvaddstr(2,0," Nation Item Minimum Price");
- X count=2;
- X }
- X }
- X***************
- X*** 364,370 ****
- X }
- X break;
- X case TDLAND:
- X! mvprintw(count++,0,"What Y position? ");
- X refresh();
- X extint = get_number();
- X if (extint < 0) {
- X--- 366,372 ----
- X }
- X break;
- X case TDLAND:
- X! mvaddstr(count++,0,"What Y position? ");
- X refresh();
- X extint = get_number();
- X if (extint < 0) {
- X*** otxt0 Wed Sep 20 21:41:01 1989
- X--- txt0 Wed Sep 20 21:41:36 1989
- X***************
- X*** 1,25 ****
- X! CONQUER COMMAND HELP SCREEN
- X
- X! SELECTIVE MOVEMENT CIVIL
- X! 'o': pick previous unit 'h': move west 'r': redesignate
- X! 'p': pick next unit 'y': move north-west 't': transport via ship
- X! 'G': go to next army 'k': move north 'C': construct
- X! 'F': go to next fleet 'u': move north-east 'D': draft armies
- X! 'm': move selected unit 'l': move east 'Z': move civilians
- X! 'n': move south-east
- X! FORMS 'j': move south COMMUNICATIVE
- X! 'c': administrative 'b': move south-west 'R': read mail messages
- X! 's': world score list 'J': scroll south 'N': read newspaper
- X! 'B': budget status 'K': scroll north 'T': trade with players
- X! 'I': campaign info 'L': scroll east 'W': write mail messages
- X! 'M': magic screen 'H': scroll west
- X! 'P': production status MILITARY
- X! 'S': diplomacy status MISC COMMANDS 'a': army report
- X! 'q': quit and save 'f': fleet report
- X VISUAL 'v': version credits 'g': group army report
- X 'd': change display '!': repeat unit cmd 'w': wizardry commands
- X 'cntrl-L': redraw '?': help screens 'ESC': extra commands
- X END
- X CONQUER EXTENDED COMMANDS
- X
- X All of the extended commands are accessed by typing the ESC key and
- X--- 1,46 ----
- X! CONQUER COMMAND HELP SCREEN
- X
- X! SELECTIVE MOVEMENT CIVIL
- X! 'o': pick previous unit 'x': jump to sector 'r': redesignate
- X! 'p': pick next unit 'X': jump to capitol 't': transport via ship
- X! 'G': go to next army 'h','H': move west 'C': construct
- X! 'F': go to next fleet 'y': move north-west 'D': draft armies
- X! 'm': move selected unit 'k','K': move north 'Z': move civilians
- X! 'u': move north-east
- X! FORMS 'l','L': move east COMMUNICATIVE
- X! 'c': administrative 'n': move south-east 'R': read mail messages
- X! 's': world score list 'j','J': move south 'N': read newspaper
- X! 'B': budget status 'b': move south-west 'T': trade with players
- X! 'I': campaign info 'W': write mail messages
- X! 'M': magic screen MISC COMMANDS
- X! 'P': production status 'Q': quit and save MILITARY
- X! 'S': diplomacy status 'q': quit and save 'a': army report
- X! 'z': change login 'f': fleet report
- X VISUAL 'v': version credits 'g': group army report
- X 'd': change display '!': repeat unit cmd 'w': wizardry commands
- X 'cntrl-L': redraw '?': help screens 'ESC': extra commands
- X END
- X+ CONQUER CURSOR MOVEMENT
- X+
- X+ NORTH
- X+
- X+ (K)
- X+ y,7 k,8 u,9
- X+ \ | /
- X+ \ | /
- X+ WEST (H) h,4 ---- 0 ---- l,6 (L) EAST
- X+ / | \
- X+ / | \
- X+ b,1 j,2 n,3
- X+ (J)
- X+
- X+ SOUTH
- X+
- X+ Figures in parenthesis indicate scrolling
- X+ Note either numeric keypad OR vi keys can be used
- X+
- X+ <cntrl>-L will redraw the screen
- X+ END
- X CONQUER EXTENDED COMMANDS
- X
- X All of the extended commands are accessed by typing the ESC key and
- X***************
- X*** 99,125 ****
- X Perhaps god is looking for people to run his worlds. Send mail
- X to XLOGIN and you may find out.
- X END
- X- CONQUER CURSOR MOVEMENT
- X-
- X- NORTH
- X-
- X- (K)
- X- y,7 k,8 u,9
- X- \ | /
- X- \ | /
- X- WEST (H) h,4 ---- 0 ---- l,6 (L) EAST
- X- / | \
- X- / | \
- X- b,1 j,2 n,3
- X- (J)
- X-
- X- SOUTH
- X-
- X- Figures in parenthesis indicate scrolling
- X- Note either numeric keypad OR vi keys can be used
- X-
- X- <cntrl>-L will redraw the screen
- X- END
- X CONQUER COMMANDS -- lower case commands
- X
- X 'a': army report: Gives an army's details & permits changing army status,
- X--- 120,125 ----
- X***************
- X*** 194,200 ****
- X
- X To my knowledge Conquer runs well on UNIX (SYS V or BSD 4.3) systems. The
- X game treats turns like a hidden move wargame would... you enter all your
- X! moves into the program and conquer tells you what happens. Like wargames,
- X there is no turning back. Every move you make will be saved when you quit.
- X If you goof up real bad, you need to go to the administrator, and have him
- X log in (as god) and fix whatever you did. Of course, bribery will probably
- X--- 194,200 ----
- X
- X To my knowledge Conquer runs well on UNIX (SYS V or BSD 4.3) systems. The
- X game treats turns like a hidden move wargame would... you enter all your
- X! moves into the program and conquer tells you what happens. Like wargames,
- X there is no turning back. Every move you make will be saved when you quit.
- X If you goof up real bad, you need to go to the administrator, and have him
- X log in (as god) and fix whatever you did. Of course, bribery will probably
- X*** otxt1 Wed Sep 20 21:41:01 1989
- X--- txt1 Wed Sep 20 21:41:36 1989
- X***************
- X*** 125,132 ****
- X handle poor or low value sectors. Sum the numbers found below. The result
- X is the relative "attractiveness" of a sector.
- X
- X! General Modifiers: Goldmine: XGOLDATTR / jewels Farm: XFARMATTR / food value Other: XOTHRATTR
- X! Trade Good: XTGATTR Mine: XMINEATTR / metals Town: XTOWNATTR City: XCAPATTR
- X
- X Racial Modifiers
- X Race Mtn Hill Clear Forest Wood City Mine Gldmine
- X--- 125,132 ----
- X handle poor or low value sectors. Sum the numbers found below. The result
- X is the relative "attractiveness" of a sector.
- X
- X! General Modifiers: Goldmine: XGOLDATTR * jewels Farm: XFARMATTR * food value Other: XOTHRATTR
- X! Trade Good: XTGATTR Mine: XMINEATTR * metals Town: XTOWNATTR City: XCAPATTR
- X
- X Racial Modifiers
- X Race Mtn Hill Clear Forest Wood City Mine Gldmine
- X*** otxt4 Wed Sep 20 21:41:01 1989
- X--- txt4 Wed Sep 20 21:41:37 1989
- X***************
- X*** 27,34 ****
- X ZCAPITOL and can build ships here. Town tax=rate*XTAXTOWN talons/person and
- X City tax=rate*XTAXCITY talons/person. Both cost a lot to redesignate
- X AND take metal to create. They are captured only if you are the ONLY
- X! occupant of the sector when the world is updated. NPC nations are
- X! destroyed if they lose their capitol. Cities, Towns, and Capitols
- X add to many of a nations characteristics.
- X ZMINE Mine: Produce (tax/100)*XTAXMETAL*Metal*People Talons & Produces
- X Metal Ores. Each mine you own adds to your nations mine_ability.
- X--- 27,34 ----
- X ZCAPITOL and can build ships here. Town tax=rate*XTAXTOWN talons/person and
- X City tax=rate*XTAXCITY talons/person. Both cost a lot to redesignate
- X AND take metal to create. They are captured only if you are the ONLY
- X! occupant of the sector when the world is updated. Nations become
- X! depleted if they lose their capitol. Cities, Towns, and Capitols
- X add to many of a nations characteristics.
- X ZMINE Mine: Produce (tax/100)*XTAXMETAL*Metal*People Talons & Produces
- X Metal Ores. Each mine you own adds to your nations mine_ability.
- X***************
- X*** 36,43 ****
- X Each farm you own adds to your nations farm_ability.
- X ZGOLD Produces (tax/100)*XTAXGOLD*Gold*People Talons & Produces Jewels
- X ZDEVASTATED Devastated sector. People dont like to live where devastated.
- X! ZRUIN Ruins are devastated Cities. They may be rebuilt at 1/2 price.
- X! They can't be redesignated to anything other than a city.
- X END
- X DESIGNATION DESCRIPTIONS pg.2
- X
- X--- 36,43 ----
- X Each farm you own adds to your nations farm_ability.
- X ZGOLD Produces (tax/100)*XTAXGOLD*Gold*People Talons & Produces Jewels
- X ZDEVASTATED Devastated sector. People dont like to live where devastated.
- X! ZRUIN Ruins are devastated Cities. They may be rebuilt to cities at
- X! half cost or for XREBUILDCOST talons may be redesignated otherwise.
- X END
- X DESIGNATION DESCRIPTIONS pg.2
- X
- X*** otxt5 Wed Sep 20 21:41:01 1989
- X--- txt5 Wed Sep 20 21:41:37 1989
- X***************
- X*** 177,184 ****
- X same race as you.
- X
- X # STARTING VALUES
- X! reputation = prestige = 50 knowledge = mine ability = farm ability=10
- X! eatrate = 1.00 tax rate=10% poverty = 95%
- X END
- X FORMULAE USED FOR NATION ATTRIBUTES pg. 2
- X
- X--- 177,184 ----
- X same race as you.
- X
- X # STARTING VALUES
- X! reputation = prestige = 50 knowledge = mine ability = farm ability = 10
- X! eatrate = 1.00 tax rate=10% poverty = 95%
- X END
- X FORMULAE USED FOR NATION ATTRIBUTES pg. 2
- X
- X***************
- X*** 199,210 ****
- X END
- X FORMULAE USED FOR NATION ATTRIBUTES pg. 3
- X
- X! poverty : is funny. You can give charity to the poor to lower the poverty
- X! rate but the equilibrium level with no charity will be about
- X! 100-wealth/4. Charity is a user paramter, which indicates the
- X! percent of your NET income to go to the poor. Giving twice your
- X! population in talons will reduce poverty by one.
- X! wealth : see elsewhere.
- X END
- X ADDITIONAL MODIFIERS TO NATIONAL ATTRIBUTES
- X
- X--- 199,222 ----
- X END
- X FORMULAE USED FOR NATION ATTRIBUTES pg. 3
- X
- X! charity = Is the percent of net gold given directly to the general
- X! population. This has a direct effect of reducing poverty
- X! by 1% for every two talons given to each person.
- X! poverty = Poverty is a relative value of the number of talons you have
- X! per each civilian. The inital value is determined as:
- X! talons/civilian poverty talons/civilian poverty
- X! < 0 95% 80-120 40%-30%
- X! 0-30 95%-65% 120-200 30%-20%
- X! 30-80 65%-40% > 200 20%
- X! Poverty is then modified directly by the amount of talons given
- X! directly to the people through charity.
- X! inflation = inflation is an indicator as to the actual value of the national
- X! talon. If inflation is zero percent, then it is 1:1.
- X! Inflation is calculated as:
- X! between 25%-125% of the tax rate [randomly determined]
- X! plus (poverty - 50)/2 and is then adjusted by the ratio of
- X! military to civilians.
- X! wealth = see elsewhere.
- X END
- X ADDITIONAL MODIFIERS TO NATIONAL ATTRIBUTES
- X
- X*** opsmap.c Wed Sep 20 21:41:00 1989
- X--- psmap.c Wed Sep 20 21:41:39 1989
- X***************
- X*** 104,115 ****
- X isinstr(string, word)
- X char *string, *word;
- X {
- X! while ((c = index(string, *word)) != 0)
- X! if (!strncmp((char *) c, word, strlen(word))) {
- X! return (TRUE);
- X! } else
- X! string = (char *) c + 1;
- X! return (FALSE);
- X }
- X
- X int
- X--- 104,119 ----
- X isinstr(string, word)
- X char *string, *word;
- X {
- X! int i,l1=strlen(string),l2=strlen(word);
- X!
- X! if (l1 < l2) return(FALSE);
- X! for(i = 0; i < l1; i++ ) {
- X! if (l1-i<l2) break;
- X! if (string[i] == word[0]) {
- X! if (strncmp(string+i,word,l2)==0) return(TRUE);
- X! }
- X! }
- X! return(FALSE);
- X }
- X
- X int
- X*** patchlevel.h.orig Thu Sep 21 05:54:43 1989
- X--- patchlevel.h Thu Sep 21 06:08:15 1989
- X***************
- X*** 1 ****
- X! #define PATCHLEVEL 5
- X--- 1 ----
- X! #define PATCHLEVEL 6
- SHAR_EOF
- chmod 0644 patchV4.6 || echo "restore of patchV4.6 fails"
- sed 's/^X//' << 'SHAR_EOF' > sunconqrast.h &&
- X/*********************************************************************
- X* *
- X* Header file for sun version of conqrast *
- X* *
- X*********************************************************************/
- X
- X#define driver_version "1"
- X#define conqrast_name "Sunconqrast"
- X
- X#include <pixrect/pixrect_hs.h>
- X
- Xtypedef struct pixrect * bitmap;
- Xtypedef char * screen_type;
- Xtypedef struct pixfont * font;
- X
- X#define initialise_bitmaps() /* EMPTY */
- X#define finish_bitmaps() /* EMPTY */
- X
- X#define is_screenname(mapname) (!strncmp(mapname,"/dev/",5))
- X#define get_default_screen_name() "/dev/fb"
- X#define screen_named(name) (name)
- X#define get_screen_bitmap(screen) (pr_open(screen))
- X#define create_bitmap(width,height) (mem_create(width,height,1))
- X#define destroy_bitmap(bitmap) pr_close(bitmap)
- X#define font_named(name) pf_open(name)
- X#define bad_font(font) ((font)==NULL)
- X#define font_height(font) ((font->pf_defaultsize).y)
- X#define font_width(font) ((font->pf_defaultsize).x)
- X#define font_baseline(font) (0-(font->pf_char)['A'].pc_home.y+1)
- X
- X#define BLACK PIX_SET
- X#define WHITE PIX_CLR
- X#define DRAW_BLACK (PIX_DST|PIX_SRC)
- X#define DRAW_WHITE (PIX_DST&PIX_NOT(PIX_SRC))
- X
- X#define set_bit(bitmap,x,y,val) pr_put(bitmap,x,y,val)
- X#define draw_line(bitmap,x1,y1,x2,y2,colour) pr_vector(bitmap,x1,y1,x2,y2,colour,0)
- SHAR_EOF
- chmod 0644 sunconqrast.h || echo "restore of sunconqrast.h fails"
- sed 's/^X//' << 'SHAR_EOF' > sunstuff.c &&
- X#include <stdio.h>
- X#include "sunconqrast.h"
- X
- Xstruct /* maps from size of map to the font */
- X /* to use */
- X { /* if size > mag use font */
- X int mag;
- X char *font,*bold;
- X } fonts[] =
- X {
- X 9, "/usr/lib/fonts/fixedwidthfonts/screen.r.7", NULL,
- X 11, "/usr/lib/fonts/fixedwidthfonts/cour.r.10",
- X "/usr/lib/fonts/fixedwidthfonts/cour.b.10",
- X 12, "/usr/lib/fonts/fixedwidthfonts/cour.r.12",
- X "/usr/lib/fonts/fixedwidthfonts/cour.b.12",
- X 14, "/usr/lib/fonts/fixedwidthfonts/cour.r.14",
- X "/usr/lib/fonts/fixedwidthfonts/cour.b.14",
- X 16, "/usr/lib/fonts/fixedwidthfonts/cour.r.16",
- X "/usr/lib/fonts/fixedwidthfonts/cour.b.16",
- X 18, "/usr/lib/fonts/fixedwidthfonts/cour.r.18",
- X "/usr/lib/fonts/fixedwidthfonts/cour.b.18",
- X 22, "/usr/lib/fonts/fixedwidthfonts/cour.r.24",
- X "/usr/lib/fonts/fixedwidthfonts/cour.b.24",
- X 999999, NULL
- X };
- X
- Xstatic int encoding_type = RT_STANDARD ;
- X
- Xint
- Xargument_parse(argv)
- X
- Xchar *argv[];
- X
- X{
- Xif ( !strcmp(*argv,"-compact"))
- X {
- X encoding_type = RT_BYTE_ENCODED ;
- X return 1;
- X }
- Xelse
- X return 0;
- X}
- X
- X/*ARGSUSED*/
- Xint
- Xwrite_bitmap(bm,file,width,height)
- X
- Xbitmap bm;
- Xchar *file;
- Xint width,height;
- X
- X{
- X FILE *f;
- X
- X if ((f=fopen(file,"w"))==NULL)
- X ioerror("Can't open output file %s",file);
- X
- X return pr_dump( bm, f, RMT_NONE, encoding_type,0);
- X }
- X
- X
- X
- Xvoid
- Xdisplay_bitmap(bm,x,y,w,h)
- X
- Xbitmap bm;
- Xint x,y,w,h;
- X
- X{
- X struct pixrect *screen=pr_open("/dev/fb");
- X
- X pr_rop(screen,x,y,w,h,PIX_SRC,bm,0,0);
- X
- X }
- X
- Xbitmap_text(pr,x,y,colour,pf,str)
- X
- Xbitmap pr;
- Xint x,y;
- Xint colour;
- Xfont pf;
- Xchar *str;
- X
- X{
- X struct pr_prpos pos;
- X
- X pos.pos.x=x;
- X pos.pos.y=y;
- X pos.pr=pr;
- X
- X pf_text(pos,colour,pf,str);
- X }
- X
- SHAR_EOF
- chmod 0644 sunstuff.c || echo "restore of sunstuff.c fails"
- sed 's/^X//' << 'SHAR_EOF' > util.c &&
- X#include <stdio.h>
- X#include <sgtty.h>
- X
- X/*********************************************************************
- X* *
- X* various utility bits split off to try and get conqrast.c down to a *
- X* reasonable size *
- X* *
- X*********************************************************************/
- X
- X
- X/*********************************************************************
- X* *
- X* routine to build the dither matrix used to shade *
- X* *
- X*********************************************************************/
- X
- X#define MAXDITHER 4 /* don't touch this */
- X
- Xshort dit[1<<MAXDITHER][1<<MAXDITHER];
- X
- Xvoid
- Xbuild_dither_matrix(depth)
- X
- Xint depth;
- X
- X{
- X register int d,i,j,p;
- X depth= 1<<depth;
- X
- X dit[0][0]=0; dit[1][0]=2;
- X
- X dit[0][1]=3; dit[1][1]=1;
- X
- X for(d=2;d<depth;d=d<<1)
- X for(i=0;i<d;i++)
- X for(j=0;j<d;j++)
- X {
- X p= (dit[i][j] *=4);
- X dit[d+i][j] = p+2;
- X dit[i][d+j] = p+3;
- X dit[d+i][d+j] = p+1;
- X }
- X
- X if (depth != 16 )
- X for(i=0;i<depth;i++)
- X for (j=0;j<depth;j++)
- X dit[i][j] = (dit[i][j]*256)/d/d;
- X
- X }
- X
- X/*********************************************************************
- X* *
- X* disconnect from controlling tty *
- X* *
- X*********************************************************************/
- X
- Xvoid
- Xdisconnect()
- X
- X{
- X int tty;
- X
- X tty=open("/dev/tty",0);
- X
- X ioctl(tty,TIOCNOTTY,0);
- X
- X close(tty);
- X }
- X
- X/*********************************************************************
- X* *
- X* go into background *
- X* *
- X*********************************************************************/
- X
- Xvoid
- Xbackground()
- X
- X{
- X switch (fork())
- X {
- X case 0: break;
- X
- X default: exit(0);
- X }
- X printf("(%d)\n",getpid());
- X }
- X
- X/*********************************************************************
- X* *
- X* Print a useage message and exit. This needs to be expanded. *
- X* *
- X*********************************************************************/
- X
- Xvoid
- Xhelp_message(me)
- X
- Xchar *me;
- X
- X{
- X printf("%s: Usage --\n",me);
- X printf("\n%s\t\t-o <file-or-display>\n",me);
- X printf("\t\t-N <nation>\n");
- X printf("\t\t-D <game-directory>\n");
- X printf("\t\t-c<contour-character> <brightness>\n");
- X printf("\t\t-f <which-font> <font>\n");
- X printf("\t\t-d -n{a} -b{a} -m <magnification> -a -bg -l -t -v\n");
- X exit(1);
- X }
- X
- SHAR_EOF
- chmod 0644 util.c || echo "restore of util.c fails"
- sed 's/^X//' << 'SHAR_EOF' > xconqrast.h &&
- X
- X/* header for X */
- X
- X#define driver_version "preliminary"
- X#define conqrast_name "Xconqrast"
- X
- X#include <X11/Xlib.h>
- X
- Xtypedef Drawable bitmap ;
- Xtypedef Display *screen_type;
- Xtypedef char *font; /* this needs doing */
- X
- X#define is_screenname(name) (index(name,':')!=NULL) /* I think */
- X#define get_default_screen_name() NULL /* I have no idea */
- X
- Xscreen_type screen_named();
- X
- Xbitmap get_screen_bitmap();
- Xbitmap create_bitmap();
- X
- X#define destroy_bitmap(bm) /* I don't know how to */
- X#define font_named(name) (name) /* ditto */
- X#define bad_font(font) ((font)==NULL) /* ??? */
- X#define font_height(font) (0) /* ??? */
- X#define font_width(font) (0) /* ??? */
- X#define font_baseline(font) (0) /* ??? */
- X
- X#define BLACK (1)
- X#define WHITE (0) /* guessing */
- X#define DRAW_BLACK (1) /* ?? */
- X#define DRAW_WHITE (2)
- X
- Xvoid set_bit();
- X
- X#define draw_line(bitmap,x1,y1,x2,y2,colour) /* again no idea! */
- X
- X
- SHAR_EOF
- chmod 0644 xconqrast.h || echo "restore of xconqrast.h fails"
- sed 's/^X//' << 'SHAR_EOF' > xstuff.c &&
- X#include <stdio.h>
- X#include "xconqrast.h"
- X
- X/* utilities for X */
- X
- XDisplay *display;
- XDrawable root;
- Xint screen;
- XGC gc;
- Xshort greyscale;
- X
- Xstruct /* maps from size of map to the font */
- X /* to use */
- X { /* if size > mag use font */
- X int mag;
- X char *font,*bold;
- X } fonts[] = /* copied from the sun driver! need replacing */
- X {
- X 9, "/usr/lib/fonts/fixedwidthfonts/screen.r.7", NULL,
- X 11, "/usr/lib/fonts/fixedwidthfonts/cour.r.10",
- X "/usr/lib/fonts/fixedwidthfonts/cour.b.10",
- X 12, "/usr/lib/fonts/fixedwidthfonts/cour.r.12",
- X "/usr/lib/fonts/fixedwidthfonts/cour.b.12",
- X 14, "/usr/lib/fonts/fixedwidthfonts/cour.r.14",
- X "/usr/lib/fonts/fixedwidthfonts/cour.b.14",
- X 16, "/usr/lib/fonts/fixedwidthfonts/cour.r.16",
- X "/usr/lib/fonts/fixedwidthfonts/cour.b.16",
- X 18, "/usr/lib/fonts/fixedwidthfonts/cour.r.18",
- X "/usr/lib/fonts/fixedwidthfonts/cour.b.18",
- X 22, "/usr/lib/fonts/fixedwidthfonts/cour.r.24",
- X "/usr/lib/fonts/fixedwidthfonts/cour.b.24",
- X 999999, NULL
- X };
- X
- Xint
- Xargument_parse(argv)
- X
- Xchar *argv[];
- X
- X{
- Xreturn 0;
- X}
- X
- Xvoid
- Xinitialise_bitmaps()
- X
- X
- X
- X
- X{
- X }
- X
- Xscreen_type
- Xscreen_named(name)
- X
- Xchar *name;
- X
- X{
- Xint sc;
- X
- Xif ((display=XOpenDisplay(name)) == NULL)
- X error("No X server!");
- X
- Xroot=XDefaultRootWindow(display);
- Xsc=XDefaultScreen(display);
- Xgc=XDefaultGC(display,sc);
- X
- Xreturn display;
- X}
- X
- Xbitmap
- Xget_screen_bitmap(screen)
- X
- Xscreen_type screen;
- X
- X{
- Xint sc;
- Xreturn root;
- X}
- X
- Xbitmap
- Xcreate_bitmap(width,height)
- X
- Xint width,height;
- X
- X{
- Xint depth=1;
- X
- Xif ( depth != 1 )
- X greyscale=1;
- X
- Xreturn XCreatePixmap(display,root,width,height,depth);
- X}
- X
- Xvoid
- Xset_bit(bm,x,y,val)
- X
- Xbitmap bm;
- Xint x,y;
- Xint val;
- X
- X{
- X
- Xif (!greyscale )
- X {
- X XSetForeground(display,gc,(unsigned long)val);
- X XDrawPoint(display,bm,gc,x,y);
- X }
- Xelse
- X if (val)
- X XDrawPoint(display,bm,gc,x,y);
- X}
- X
- Xvoid
- Xdisplay_bitmap( bm,x,y,width,height)
- X
- Xbitmap bm;
- Xint x,y,width,height;
- X
- X{
- XXCopyArea(display,bm,root,gc,0,0,width,height,x,y);
- X }
- X
- Xint
- Xwrite_bitmap(bm,file,width,height)
- X
- Xbitmap bm;
- Xchar *file;
- Xint width,height;
- X{
- X
- Xreturn XWriteBitmapFile(display,file,bm,width,height,-1,-1);
- X }
- X
- X
- Xvoid
- Xfinish_bitmaps()
- X
- X{
- XXCloseDisplay(display);
- X}
- X
- Xbitmap_text(bm,x,y,colour,pf,str)
- X
- Xbitmap bm;
- Xint x,y;
- Xint colour;
- Xfont pf;
- Xchar *str;
- X
- X{
- X /* ??? */
- X }
- X
- SHAR_EOF
- chmod 0644 xstuff.c || echo "restore of xstuff.c fails"
- rm -f s2_seq_.tmp
- echo "You have unpacked the last part"
- exit 0
-