saponara@batcomputer.tn.cornell.edu (John Saponara) (11/12/87)
References: BUG REPORT FOR CONQUEST: Nov 10, 1987 On lines 151-156 in combat.c it reads: } ! unit[count]=armynum ; owner[count]=country; count++; } if(valid==1) navalcbt(); This should change to: } ! unit[count]=nvynum ; owner[count]=country; count++; } if(valid==1) navalcbt(); ---------------------------------------------------- CONQUEST BUGS, #2 Eric Haines Error on line 594 of reports.c: Fleets could not be split if there were not both warships and merchants in a fleet. The old code: scanw("%hd",&mships); noecho(); ! if((wships<NWAR)&&(mships<NMER)){ NWAR-=wships; NMER-=mships; Should be: scanw("%hd",&mships); noecho(); ! if((wships<=NWAR)&&(mships<=NMER)){ NWAR-=wships; NMER-=mships; ----------------------------------------------------------------------------- move.c on line 121: "TOO MANY PEOPLE" error given when trying to load a boat, when in fact the boat could hold exactly that many people. Old code: refresh(); scanw("%d",&ctransport); ! if(ctransport>0&&ctransport<=sct[XREAL][YREAL].people&&(ctransport<capacity)){ startx=XREAL; starty=YREAL; fixed code: refresh(); scanw("%d",&ctransport); ! if(ctransport>0&&ctransport<=sct[XREAL][YREAL].people&&(ctransport<=capacity)){ startx=XREAL; starty=YREAL; ----------------------------------------------------------------------------- main.c line 216: When the cursor is in the 0 row or column bad things happen - control-L doesn't work, for example. The old code: while (done==0) { /* check if cursor is out of bounds*/ ! if((xcurs<1)||(ycurs<1)||(xcurs>=(COLS-21)/2)||((ycurs>=LINES-5))||((XREAL)>=MAPX)||((YREAL)>=MAPY)) offmap(); /*update map*/ the fixed code: while (done==0) { /* check if cursor is out of bounds*/ ! if((xcurs<0)||(ycurs<0)||(xcurs>=(COLS-21)/2)||((ycurs>=LINES-5))||((XREAL)>=MAPX)||((YREAL)>=MAPY)) offmap(); /*update map*/ ----------------------------------------------------------------------------- move.c, line 295: Every time an army with location x = 0 or y = 0 is moved the screen is updated. The old code: /*if moved and not done*/ if((valid==1)&&(done==0)){ /*check if offmap and correct*/ ! if((xcurs<1)||(ycurs<1)||(xcurs>=(COLS-21)/2)||((ycurs>=LINES-5))||((XREAL)>=MAPX)||((YREAL)>=MAPY)) { clear(); offmap(); The fixed code: /*if moved and not done*/ if((valid==1)&&(done==0)){ /*check if offmap and correct*/ ! if((xcurs<0)||(ycurs<0)||(xcurs>=(COLS-21)/2)||((ycurs>=LINES-5))||((XREAL)>=MAPX)||((YREAL)>=MAPY)) { clear(); offmap(); ----------------------------------------------------------------------------- That's it for now, Eric