smile@mhuxd.UUCP (Edward Barlow) (02/04/88)
Below is the first patch file for conquer. Nothing major, but it fixes some problems that existed when the world was not square (but then we all know the world is round...) and is more stringent about the use of parenthesis in complex if(a=b == 0) statements (should be if((a=b) == 0)). This might have an effect on some compilers. Hope everybody got all the files needed to compile and run - sorry about the missing files. Still no news on what machine I shall be on, but homxc!smile might remain my login. Send comments there. One final note - my patch routine barfed in the middle of this script. After a half hour of debugging, I still do not know why, and since it made all the changes correctly... The Ed PS. The only remaining problem (that I know about) exists in the naval combat routines - which do not work - but that is the extent of my knowledge. *** reports.c Fri Jan 22 10:25:42 1988 --- xreports.c Fri Jan 22 10:26:42 1988 *************** *** 295,301 **** mvaddstr(0,(COLS/2)-10,"NEXT YEARS BUDGET ESTIMATES"); standend(); ! for(xsctr=0;xsctr<MAPX;xsctr++) for(ysctr=0;ysctr<MAPX;ysctr++) if(sct[xsctr][ysctr].owner==country) { if(sct[xsctr][ysctr].designation==DFARM){ infood+= sct[xsctr][ysctr].people; revfood+=todigit(sct[xsctr][ysctr].vegetation)*sct[xsctr][ysctr].people; --- 295,301 ---- mvaddstr(0,(COLS/2)-10,"NEXT YEARS BUDGET ESTIMATES"); standend(); ! for(xsctr=0;xsctr<MAPX;xsctr++) for(ysctr=0;ysctr<MAPY;ysctr++) if(sct[xsctr][ysctr].owner==country) { if(sct[xsctr][ysctr].designation==DFARM){ infood+= sct[xsctr][ysctr].people; revfood+=todigit(sct[xsctr][ysctr].vegetation)*sct[xsctr][ysctr].people; *************** *** 391,397 **** mvaddstr(0,(COLS/2)-20,"NEXT YEARS PRODUCTION ESTIMATES"); standend(); ! for(xsctr=0;xsctr<MAPX;xsctr++) for(ysctr=0;ysctr<MAPX;ysctr++) if(sct[xsctr][ysctr].owner==country) { civilians += sct[xsctr][ysctr].people; if(sct[xsctr][ysctr].designation==DFARM){ --- 391,397 ---- mvaddstr(0,(COLS/2)-20,"NEXT YEARS PRODUCTION ESTIMATES"); standend(); ! for(xsctr=0;xsctr<MAPX;xsctr++) for(ysctr=0;ysctr<MAPY;ysctr++) if(sct[xsctr][ysctr].owner==country) { civilians += sct[xsctr][ysctr].people; if(sct[xsctr][ysctr].designation==DFARM){ *** move.c Fri Jan 22 10:25:41 1988 --- xmove.c Fri Jan 22 10:26:42 1988 *************** *** 621,627 **** } /* switch */ } /* for */ ! for(x=0;x<MAPX;x++) for(y=0;y<MAPX;y++){ sptr = &sct[x][y]; if(race==GOD) movecost[x][y] = 0; --- 621,627 ---- } /* switch */ } /* for */ ! for(x=0;x<MAPX;x++) for(y=0;y<MAPY;y++){ sptr = &sct[x][y]; if(race==GOD) movecost[x][y] = 0; *** combat.c Fri Jan 22 10:25:39 1988 --- xcombat.c Fri Jan 22 10:26:42 1988 *************** *** 464,470 **** short armynum,nvynum; int save,i,j; /*set occ to 0*/ ! for(i=0;i<MAPX;i++) for(j=0;j<MAPX;j++) occ[i][j]=0; save=country; /*set occ to country of occupant army*/ for(country=0;country<NTOTAL;country++) --- 464,470 ---- short armynum,nvynum; int save,i,j; /*set occ to 0*/ ! for(i=0;i<MAPX;i++) for(j=0;j<MAPY;j++) occ[i][j]=0; save=country; /*set occ to country of occupant army*/ for(country=0;country<NTOTAL;country++) *** makeworld.c Mon Feb 1 11:29:07 1988 --- nmakeworld.c Wed Feb 3 19:32:52 1988 *************** *** 45,51 **** char newstring[40]; /*abort if datafile currently exists*/ ! if(tempfd=open(datafile,0)!=-1) { printf("ABORTING: File %s exists\n",datafile); printf("\tthis means that a game is in progress. To proceed, you must remove \n"); printf("\tthe existing data file. This will, of course, destroy that game.\n\n"); --- 45,51 ---- char newstring[40]; /*abort if datafile currently exists*/ ! if((tempfd=open(datafile,0))!=-1) { printf("ABORTING: File %s exists\n",datafile); printf("\tthis means that a game is in progress. To proceed, you must remove \n"); printf("\tthe existing data file. This will, of course, destroy that game.\n\n"); *************** *** 573,579 **** sct[x][y].fortress = 5+rand()%5; sct[x][y].gold = 15+rand()%20; for(i=x-1;i<=x+1;i++) for(j=y-1;j<=y+1;j++) ! if(i>=0&&j>=0&&i<MAPX&&j<MAPX) if(sct[i][j].altitude!=WATER) sct[i][j].owner = NLIZARD; AMOVE=0; --- 573,579 ---- sct[x][y].fortress = 5+rand()%5; sct[x][y].gold = 15+rand()%20; for(i=x-1;i<=x+1;i++) for(j=y-1;j<=y+1;j++) ! if(i>=0&&j>=0&&i<MAPX&&j<MAPY) if(sct[i][j].altitude!=WATER) sct[i][j].owner = NLIZARD; AMOVE=0; *** magic.c Mon Feb 1 11:29:03 1988 --- nmagic.c Wed Feb 3 19:32:30 1988 *************** *** 207,213 **** i=get_number(); if(ntn[i].race==ORC){ ntn[country].jewels-=100000L; ! if(i=takeover(chance,i)==1) mvprintw(count++,0," Successful: %d",i); } else mvaddstr(count++,0," Wrong Race"); --- 207,213 ---- i=get_number(); if(ntn[i].race==ORC){ ntn[country].jewels-=100000L; ! if((i=takeover(chance,i))==1) mvprintw(count++,0," Successful: %d",i); } else mvaddstr(count++,0," Wrong Race"); *** randevent.c Wed Feb 3 19:56:11 1988 --- xrandevent.c Wed Feb 3 19:57:34 1988 *************** *** 233,239 **** case 7: case 8: /*peasant revolt -- lose 40% unsupported sectors*/ ! if(newnation=disolve(10, country) == 0 ) done=0; if(done==1) for (i=0; i<MAPX; i++) for (j=0; j<MAPY; j++) if(( sct[i][j].owner == country) &&( solds_in_sector(i,j,country)==0)) --- 233,239 ---- case 7: case 8: /*peasant revolt -- lose 40% unsupported sectors*/ ! if((newnation=disolve(10, country)) == 0 ) done=0; if(done==1) for (i=0; i<MAPX; i++) for (j=0; j<MAPY; j++) if(( sct[i][j].owner == country) &&( solds_in_sector(i,j,country)==0)) XXX