Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!uunet!husc6!mit-eddie!uw-beaver!cornell!batcomputer!saponara From: saponara@batcomputer.tn.cornell.edu (John Saponara) Newsgroups: comp.sources.bugs Subject: Conquest bugs - the saga continues... Message-ID: <2909@batcomputer.tn.cornell.edu> Date: Thu, 12-Nov-87 15:27:49 EST Article-I.D.: batcompu.2909 Posted: Thu Nov 12 15:27:49 1987 Date-Received: Sat, 14-Nov-87 19:34:26 EST Reply-To: saponara@tcgould.tn.cornell.edu (John Saponara) Distribution: comp Organization: Cornell Theory Center, Cornell University, Ithaca NY Lines: 91 Summary: here're a few more fixes 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((wships0&&ctransport<=sct[XREAL][YREAL].people&&(ctransport0&&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