smile@homxc.UUCP (E.BARLOW) (07/13/88)
Here is a reposting of patch 1 for conquer v3. Lots of people have mailed to me - claiming to have missed it. patch 2 and the shell archive patch2.sh are to follow. The Ed ------------------------ Cut Here ------------------------ *** oldcexecute.c Fri Jun 17 09:40:20 1988 --- cexecute.c Fri Jun 17 09:40:39 1988 *************** *** 83,88 ntn[country].nvy[armynum].xloc=x; ntn[country].nvy[armynum].yloc=y; break; case XNASHP: /*nadjshp*/ ntn[country].nvy[armynum].merchant=x; ntn[country].nvy[armynum].warships=y; --- 83,92 ----- ntn[country].nvy[armynum].xloc=x; ntn[country].nvy[armynum].yloc=y; break; + case XNACREW: + ntn[country].nvy[armynum].crew=x; + ntn[country].nvy[armynum].armynum=y; + break; case XNASHP: /*nadjshp*/ ntn[country].nvy[armynum].merchant=x; ntn[country].nvy[armynum].warships=y; *** oldcommands.c Fri Jun 17 09:40:09 1988 --- commands.c Fri Jun 17 09:40:41 1988 *************** *** 345,351 return; } ! if( sct[XREAL][YREAL].people < (wnumber+mnumber) * mnumber ){ errormsg("NOT ENOUGH CIVILIANS IN SECTOR"); if(isgod==TRUE) country=0; return; --- 345,351 ----- return; } ! if( sct[XREAL][YREAL].people < (wnumber+mnumber) * SHIPCREW ){ errormsg("NOT ENOUGH CIVILIANS IN SECTOR"); if(isgod==TRUE) country=0; return; *************** *** 353,360 if((nvynum>=0)&&(nvynum<MAXNAVY)) { clear_bottom(0); - mvprintw(LINES-4,0,"constructing %hd warships and %hd merchant",wnumber,mnumber); - NCREW += (wnumber+mnumber) * SHIPCREW; sct[XREAL][YREAL].people -= (wnumber+mnumber)*SHIPCREW; --- 353,358 ----- if((nvynum>=0)&&(nvynum<MAXNAVY)) { clear_bottom(0); NCREW += (wnumber+mnumber) * SHIPCREW; mvprintw(LINES-4,0,"constructing %hd warships and %hd merchants (crew now %d)",wnumber,mnumber,NCREW); *************** *** 356,361 mvprintw(LINES-4,0,"constructing %hd warships and %hd merchant",wnumber,mnumber); NCREW += (wnumber+mnumber) * SHIPCREW; sct[XREAL][YREAL].people -= (wnumber+mnumber)*SHIPCREW; ntn[country].tgold -= cost; --- 354,361 ----- if((nvynum>=0)&&(nvynum<MAXNAVY)) { clear_bottom(0); NCREW += (wnumber+mnumber) * SHIPCREW; + mvprintw(LINES-4,0,"constructing %hd warships and %hd merchants (crew now %d)",wnumber,mnumber,NCREW); + sct[XREAL][YREAL].people -= (wnumber+mnumber)*SHIPCREW; ntn[country].tgold -= cost; *************** *** 365,370 NWAR+=wnumber; NMER+=mnumber; NMOVE=0; NADJSHP; NADJLOC; NADJMOV; --- 365,372 ----- NWAR+=wnumber; NMER+=mnumber; NMOVE=0; + SADJCIV; + NADJCRW; NADJSHP; NADJLOC; NADJMOV; *** oldmain.c Fri Jun 17 09:40:18 1988 --- main.c Fri Jun 17 09:41:05 1988 *************** *** 679,686 /*print a navy*/ mvaddch((nfound%5)*2,COLS-21,'>'); if(selector==(nfound%5)*2) standout(); ! mvprintw((nfound%5)*2,COLS-20,"navy %d: move %d",nvynum,NMOVE); ! mvprintw((nfound%5)*2+1,COLS-20," war:%d mer:%d",NWAR,NMER); standend(); } nfound++; --- 679,686 ----- /*print a navy*/ mvaddch((nfound%5)*2,COLS-21,'>'); if(selector==(nfound%5)*2) standout(); ! mvprintw((nfound%5)*2,COLS-20,"nvy %d: war:%d mv:%d",nvynum,NWAR,NMOVE); ! mvprintw((nfound%5)*2+1,COLS-20," mer %d crew %d",NMER,NCREW); standend(); } nfound++; *** oldnpc.c Fri Jun 17 09:40:08 1988 --- npc.c Fri Jun 17 09:41:05 1988 *************** *** 254,259 } ntn[country].tmil -= militia; /*make sure enough men in army 0 -- garrison duty in capitol*/ armynum=0; ASTAT=GARRISON; --- 254,262 ----- } ntn[country].tmil -= militia; + for(armynum=1;armynum<MAXARM;armynum++) + if((ASOLD>0)&&(ATYPE==A_INFANTRY)) ASTAT = DEFEND; + /*make sure enough men in army 0 -- garrison duty in capitol*/ armynum=0; ASTAT=GARRISON; *************** *** 441,447 &&(i!=armynum)&&(free==0)){ free=1; ntn[country].arm[i].sold += ASOLD; - ntn[country].arm[i].unittyp=A_INFANTRY; ASOLD=0; } } --- 444,449 ----- &&(i!=armynum)&&(free==0)){ free=1; ntn[country].arm[i].sold += ASOLD; ASOLD=0; } } *************** *** 485,491 } if(free==FALSE) { /* draft a new militia army */ for(armynum=0;armynum<MAXARM;armynum++) if(ASOLD==0){ - ATYPE=A_MILITIA; AXLOC=x; AYLOC=y; free=TRUE; --- 487,492 ----- } if(free==FALSE) { /* draft a new militia army */ for(armynum=0;armynum<MAXARM;armynum++) if(ASOLD==0){ AXLOC=x; AYLOC=y; free=TRUE; *************** *** 506,511 } } ASOLD+=ideal; ASTAT=GARRISON; #ifdef DEBUG if(ATYPE!=A_MILITIA) printf("ERROR - NOT MILITIA\n"); --- 507,513 ----- } } ASOLD+=ideal; + ATYPE=A_MILITIA; ASTAT=GARRISON; #ifdef DEBUG printf("\tadding %d troops to %s army %d (now %d men - populace %d)\n",ideal,unittype[ATYPE],armynum,ASOLD,sct[x][y].people); *************** *** 508,514 ASOLD+=ideal; ASTAT=GARRISON; #ifdef DEBUG - if(ATYPE!=A_MILITIA) printf("ERROR - NOT MILITIA\n"); printf("\tadding %d troops to %s army %d (now %d men - populace %d)\n",ideal,unittype[ATYPE],armynum,ASOLD,sct[x][y].people); #endif DEBUG } --- 510,515 ----- ATYPE=A_MILITIA; ASTAT=GARRISON; #ifdef DEBUG printf("\tadding %d troops to %s army %d (now %d men - populace %d)\n",ideal,unittype[ATYPE],armynum,ASOLD,sct[x][y].people); #endif DEBUG } *** olddata.h Fri Jun 17 09:40:13 1988 --- data.h Fri Jun 17 09:41:05 1988 *************** *** 252,257 #define XALOC 4 #define XNLOC 5 #define XNASHP 6 #define XECNAME 8 #define XECPAS 9 #define EDSPL 10 --- 252,258 ----- #define XALOC 4 #define XNLOC 5 #define XNASHP 6 + #define XNACREW 7 #define XECNAME 8 #define XECPAS 9 #define EDSPL 10 *************** *** 276,281 #define I_DPLUS fprintf(fexe,"INC_DPLUS \t%d \t%hd \t0 \t0 \t0 \t%s\n",INCDPLUS,country,"null") #define AADJSTAT fprintf(fexe,"A_STAT \t%d \t%hd \t%d \t%d \t0 \t%s\n",XASTAT,country,armynum,ntn[country].arm[armynum].stat,"null") #define AADJMEN fprintf(fexe,"L_ADJMEN \t%d \t%hd \t%d \t%d \t%d \t%s\n",XAMEN ,country,armynum,ASOLD,ATYPE,"null") #define NADJSHP fprintf(fexe,"N_ASHP \t%d \t%hd \t%d \t%d \t%d \t%s\n",XNASHP ,country,nvynum,ntn[country].nvy[nvynum].merchant,ntn[country].nvy[nvynum].warships,"null" ) #define AADJLOC fprintf(fexe,"A_LOC \t%d \t%hd \t%d \t%d \t%d \t%s\n",XALOC ,country,armynum,ntn[country].arm[armynum].xloc,ntn[country].arm[armynum].yloc,"null") #define NADJLOC fprintf(fexe,"N_LOC \t%d \t%hd \t%d \t%d \t%d \t%s\n",XNLOC ,country,nvynum,ntn[country].nvy[nvynum].xloc,ntn[country].nvy[nvynum].yloc ,"null") --- 277,283 ----- #define I_DPLUS fprintf(fexe,"INC_DPLUS \t%d \t%hd \t0 \t0 \t0 \t%s\n",INCDPLUS,country,"null") #define AADJSTAT fprintf(fexe,"A_STAT \t%d \t%hd \t%d \t%d \t0 \t%s\n",XASTAT,country,armynum,ntn[country].arm[armynum].stat,"null") #define AADJMEN fprintf(fexe,"L_ADJMEN \t%d \t%hd \t%d \t%d \t%d \t%s\n",XAMEN ,country,armynum,ASOLD,ATYPE,"null") + #define NADJCRW fprintf(fexe,"N_ASHP \t%d \t%hd \t%d \t%d \t%d \t%s\n",XNACREW,country,nvynum,ntn[country].nvy[nvynum].crew,ntn[country].nvy[nvynum].armynum,"null" ) #define NADJSHP fprintf(fexe,"N_ASHP \t%d \t%hd \t%d \t%d \t%d \t%s\n",XNASHP ,country,nvynum,ntn[country].nvy[nvynum].merchant,ntn[country].nvy[nvynum].warships,"null" ) #define AADJLOC fprintf(fexe,"A_LOC \t%d \t%hd \t%d \t%d \t%d \t%s\n",XALOC ,country,armynum,ntn[country].arm[armynum].xloc,ntn[country].arm[armynum].yloc,"null") #define NADJLOC fprintf(fexe,"N_LOC \t%d \t%hd \t%d \t%d \t%d \t%s\n",XNLOC ,country,nvynum,ntn[country].nvy[nvynum].xloc,ntn[country].nvy[nvynum].yloc ,"null")