conquer patch #1

Edward Barlow smile at mhuxd.UUCP
Thu Feb 4 11:25:28 AEST 1988


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



More information about the Comp.sources.bugs mailing list