Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!uunet!seismo!rochester!rutgers!ucla-cs!cit-vax!oberon!sdcrdcf!psivax!csun!polyslo!jpochma From: jpochma@polyslo.UUCP (John H Pochmara) Newsgroups: comp.sources.bugs Subject: Ogre patchs Message-ID: <399@polyslo.UUCP> Date: Wed, 29-Jul-87 11:33:17 EDT Article-I.D.: polyslo.399 Posted: Wed Jul 29 11:33:17 1987 Date-Received: Sat, 1-Aug-87 04:57:57 EDT Organization: Cal Poly State Univ,CSC Dept,San Luis Obispo,CA 93407 Lines: 571 Keywords: Ogre games who cares These are patches to take care of the _doprint problem that people have run into with ogre. John Pochmara --- ...!lll-crg --->!csustan -\ | "A career is great, ..!trwrb!csla34 --< >->!polyslo!jpochma | But you can't run your ...!ihnp4 --->!csun ----/ | fingers through its | hair" -Graffiti 4/13/83 -=-=-=-=-=-=-=-= CUT HERE -=-=-=-=-=-=-=-=-=-=-=-= CUT HERE -=-=-=-=-=-=-=-=-=-= #! /bin/sh # This is a shell archive, meaning: # 1. Remove everything above the #! /bin/sh line. # 2. Save the resulting text in a file. # 3. Execute the file with /bin/sh (not csh) to create the files: # attack.c.pat # init.c.pat # map.c.pat # ogre.h.pat # ogre.pat # ogrecom.c.pat # ogrestat.c.pat # resolve.c.pat # This archive created: Wed Jul 29 08:24:51 1987 export PATH; PATH=/bin:$PATH echo shar: extracting "'attack.c.pat'" '(1978 characters)' if test -f 'attack.c.pat' then echo shar: will not over-write existing file "'attack.c.pat'" else sed 's/^ X//' << \SHAR_EOF > 'attack.c.pat' X*** attack.c Wed Jul 29 08:20:42 1987 X--- attack.c.new Wed Jul 29 08:19:08 1987 X*************** X*** 167,173 X X case MAIN: X X! display_xy(18, 40, "%d/%d (%s)", allocated.main_bats, DEF_MAIN, X odd_str(allocated.main_bats, DEF_MAIN)); X break; X X X--- 167,173 ----- X X case MAIN: X X! DISPLAY_XY3(18, 40, "%d/%d (%s)", allocated.main_bats, DEF_MAIN, X odd_str(allocated.main_bats, DEF_MAIN)); X break; X X*************** X*** 173,179 X X case SECONDARY: X X! display_xy(19, 40, "%d/%d (%s)", allocated.sec_bats, DEF_SECONDARY, X odd_str(allocated.sec_bats, DEF_SECONDARY)); X break; X X X--- 173,179 ----- X X case SECONDARY: X X! DISPLAY_XY3(19, 40, "%d/%d (%s)", allocated.sec_bats, DEF_SECONDARY, X odd_str(allocated.sec_bats, DEF_SECONDARY)); X break; X X*************** X*** 179,185 X X case MISSILE: X X! display_xy(20, 40, "%s", odd_str(allocated.missiles, DEF_MISSILES)); X break; X X case AP: X X--- 179,185 ----- X X case MISSILE: X X! DISPLAY_XY1(20, 40, "%s", odd_str(allocated.missiles, DEF_MISSILES)); X break; X X case AP: X*************** X*** 184,190 X X case AP: X X! display_xy(21, 40, "%s", odd_str(allocated.ap, DEF_AP)); X break; X X case TREAD: X X--- 184,190 ----- X X case AP: X X! DISPLAY_XY1(21, 40, "%s", odd_str(allocated.ap, DEF_AP)); X break; X X case TREAD: X*************** X*** 188,194 X break; X X case TREAD: X! display_xy(22, 40, "1/1 (%d)", allocated.treads); X break; X X } X X--- 188,194 ----- X break; X X case TREAD: X! DISPLAY_XY1(22, 40, "1/1 (%d)", allocated.treads); X break; X X } SHAR_EOF if test 1978 -ne "`wc -c < 'attack.c.pat'`" then echo shar: error transmitting "'attack.c.pat'" '(should have been 1978 characters)' fi fi # end of overwriting check echo shar: extracting "'init.c.pat'" '(1078 characters)' if test -f 'init.c.pat' then echo shar: will not over-write existing file "'init.c.pat'" else sed 's/^ X//' << \SHAR_EOF > 'init.c.pat' X*** init.c Wed Jul 29 08:20:45 1987 X--- init.c.new Wed Jul 29 08:19:08 1987 X*************** X*** 31,37 X cp_set = FALSE; X X while(armor_points > 0 || infantry_points > 0 || !cp_set) { X! display(16, "left to place: %d armor, %d infantry%s", X armor_points, infantry_points, X (cp_set) ? "." : ", CP"); X getunit(); X X--- 31,37 ----- X cp_set = FALSE; X X while(armor_points > 0 || infantry_points > 0 || !cp_set) { X! DISPLAY3(16, "left to place: %d armor, %d infantry%s", X armor_points, infantry_points, X (cp_set) ? "." : ", CP"); X getunit(); X*************** X*** 222,228 X unit[i].defend = 0; X j = 200 ; X while (j > armor_points || j > 2 || j < 0) { X! display(17, "Movement points for CP? ", 0) ; X j = readchar() ; X j -= '0' ; X } X X--- 222,228 ----- X unit[i].defend = 0; X j = 200 ; X while (j > armor_points || j > 2 || j < 0) { X! DISPLAY0(17, "Movement points for CP? ", 0) ; X j = readchar() ; X j -= '0' ; X } SHAR_EOF if test 1078 -ne "`wc -c < 'init.c.pat'`" then echo shar: error transmitting "'init.c.pat'" '(should have been 1078 characters)' fi fi # end of overwriting check echo shar: extracting "'map.c.pat'" '(3180 characters)' if test -f 'map.c.pat' then echo shar: will not over-write existing file "'map.c.pat'" else sed 's/^ X//' << \SHAR_EOF > 'map.c.pat' X*** map.c Wed Jul 29 08:20:50 1987 X--- map.c.new Wed Jul 29 08:19:09 1987 X*************** X*** 310,316 X switch(unit[i].type) { X X case HOWITZER: X! display(16, "%s howitzer (%d/%d D%d M%d)", action, X unit[i].attack, unit[i].range, X unit[i].defend, unit[i].moves_left); X break; X X--- 310,316 ----- X switch(unit[i].type) { X X case HOWITZER: X! DISPLAY5(16, "%s howitzer (%d/%d D%d M%d)", action, X unit[i].attack, unit[i].range, X unit[i].defend, unit[i].moves_left); X break; X*************** X*** 316,322 X break; X X case MSLTANK: X! display(16, "%s missile tank (%d/%d D%d M%d)", action, X unit[i].attack, unit[i].range, X unit[i].defend, unit[i].moves_left); X break; X X--- 316,322 ----- X break; X X case MSLTANK: X! DISPLAY5(16, "%s missile tank (%d/%d D%d M%d)", action, X unit[i].attack, unit[i].range, X unit[i].defend, unit[i].moves_left); X break; X*************** X*** 322,328 X break; X X case GEV: X! display(16, "%s GEV (%d/%d D%d M%d)", action, X unit[i].attack, unit[i].range, X unit[i].defend, unit[i].moves_left); X break; X X--- 322,328 ----- X break; X X case GEV: X! DISPLAY5(16, "%s GEV (%d/%d D%d M%d)", action, X unit[i].attack, unit[i].range, X unit[i].defend, unit[i].moves_left); X break; X*************** X*** 328,334 X break; X X case HVYTANK: X! display(16, "%s heavy tank (%d/%d D%d M%d)", action, X unit[i].attack, unit[i].range, X unit[i].defend, unit[i].moves_left); X break; X X--- 328,334 ----- X break; X X case HVYTANK: X! DISPLAY5(16, "%s heavy tank (%d/%d D%d M%d)", action, X unit[i].attack, unit[i].range, X unit[i].defend, unit[i].moves_left); X break; X*************** X*** 334,340 X break; X X case INFANTRY: X! display(16, "%s infantry (%d/%d D%d M%d)", action, X unit[i].attack, unit[i].range, X unit[i].defend, unit[i].moves_left); X break; X X--- 334,340 ----- X break; X X case INFANTRY: X! DISPLAY5(16, "%s infantry (%d/%d D%d M%d)", action, X unit[i].attack, unit[i].range, X unit[i].defend, unit[i].moves_left); X break; X*************** X*** 340,346 X break; X X case CP: X! display(16, "%s CP (%d/%d D%d M%d)", action, X unit[i].attack, unit[i].range, X unit[i].defend, unit[i].moves_left); X break; X X--- 340,346 ----- X break; X X case CP: X! DISPLAY5(16, "%s CP (%d/%d D%d M%d)", action, X unit[i].attack, unit[i].range, X unit[i].defend, unit[i].moves_left); X break; SHAR_EOF if test 3180 -ne "`wc -c < 'map.c.pat'`" then echo shar: error transmitting "'map.c.pat'" '(should have been 3180 characters)' fi fi # end of overwriting check echo shar: extracting "'ogre.h.pat'" '(1134 characters)' if test -f 'ogre.h.pat' then echo shar: will not over-write existing file "'ogre.h.pat'" else sed 's/^ X//' << \SHAR_EOF > 'ogre.h.pat' X*** ogre.h Wed Jul 29 08:20:54 1987 X--- ogre.h.new Wed Jul 29 08:19:10 1987 X*************** X*** 39,44 X #define HOWITZER 'H' X #define INFANTRY 'I' X X X /* unit statuses */ X #define OK 1 X X--- 39,58 ----- X #define HOWITZER 'H' X #define INFANTRY 'I' X X+ /* display macros */ X+ X+ #define DISPLAY0(l,f) movecur(l,0);printf(f) X+ #define DISPLAY1(l,f,ar) movecur(l,0);printf(f,ar) X+ #define DISPLAY2(l,f,ar1,ar2) movecur(l,0);printf(f,ar1,ar2) X+ #define DISPLAY3(l,f,ar1,ar2,ar3) movecur(l,0);printf(f,ar1,ar2,ar3) X+ #define DISPLAY4(l,f,ar1,ar2,ar3,ar4) movecur(l,0);printf(f,ar1,ar2,ar3,ar4) X+ #define DISPLAY5(l,f,ar1,ar2,ar3,ar4,ar5) movecur(l,0);printf(f,ar1,ar2,ar3,ar4,ar5) X+ X+ #define DISPLAY_XY1(l,c,f,ar) movecur(l,c);printf(f,ar) X+ #define DISPLAY_XY2(l,c,f,ar1,ar2) movecur(l,c);printf(f,ar1,ar2) X+ #define DISPLAY_XY3(l,c,f,ar1,ar2,ar3) movecur(l,c);printf(f,ar1,ar2,ar3) X+ #define DISPLAY_XY4(l,c,f,ar1,ar2,ar3,ar4) movecur(l,c);printf(f,ar1,ar2,ar3,ar4) X+ #define DISPLAY_XY5(l,c,f,ar1,ar2,ar3,ar4,ar5) movecur(l,c);printf(f,ar1,ar2,ar3,ar4,ar5) X X /* unit statuses */ X #define OK 1 SHAR_EOF if test 1134 -ne "`wc -c < 'ogre.h.pat'`" then echo shar: error transmitting "'ogre.h.pat'" '(should have been 1134 characters)' fi fi # end of overwriting check echo shar: extracting "'ogre.pat'" '(0 character)' if test -f 'ogre.pat' then echo shar: will not over-write existing file "'ogre.pat'" else sed 's/^ X//' << \SHAR_EOF > 'ogre.pat' SHAR_EOF if test 0 -ne "`wc -c < 'ogre.pat'`" then echo shar: error transmitting "'ogre.pat'" '(should have been 0 character)' fi fi # end of overwriting check echo shar: extracting "'ogrecom.c.pat'" '(700 characters)' if test -f 'ogrecom.c.pat' then echo shar: will not over-write existing file "'ogrecom.c.pat'" else sed 's/^ X//' << \SHAR_EOF > 'ogrecom.c.pat' X*** ogrecom.c Wed Jul 29 08:20:57 1987 X--- ogrecom.c.new Wed Jul 29 08:19:09 1987 X*************** X*** 314,320 X /* No point if the unit is already destroyed. */ X if(unit[target].status == DESTROYED) return; X X! display(16, "Ogre fires %s at unit at hex %d%d", weapon, X unit[target].l_hex, unit[target].r_hex); X X movecur_hex(unit[target].l_hex, unit[target].r_hex); X X--- 314,320 ----- X /* No point if the unit is already destroyed. */ X if(unit[target].status == DESTROYED) return; X X! DISPLAY3(16, "Ogre fires %s at unit at hex %d%d", weapon, X unit[target].l_hex, unit[target].r_hex); X X movecur_hex(unit[target].l_hex, unit[target].r_hex); SHAR_EOF if test 700 -ne "`wc -c < 'ogrecom.c.pat'`" then echo shar: error transmitting "'ogrecom.c.pat'" '(should have been 700 characters)' fi fi # end of overwriting check echo shar: extracting "'ogrestat.c.pat'" '(4136 characters)' if test -f 'ogrestat.c.pat' then echo shar: will not over-write existing file "'ogrestat.c.pat'" else sed 's/^ X//' << \SHAR_EOF > 'ogrestat.c.pat' X*** ogrestat.c Wed Jul 29 08:20:59 1987 X--- ogrestat.c.new Wed Jul 29 08:19:09 1987 X*************** X*** 19,27 X 1234567890123456789012345678901234567890 */ X X if(redraw || last.main_bats != ogre.main_bats) X! if(ogre.main_bats > 0) X! display(18, "Main Batteries: %d (4/3 D4)", ogre.main_bats); X! else display(18, " "); X X if(redraw || last.sec_bats != ogre.sec_bats) X if(ogre.sec_bats > 0) X X--- 19,27 ----- X 1234567890123456789012345678901234567890 */ X X if(redraw || last.main_bats != ogre.main_bats) X! if(ogre.main_bats > 0) { X! DISPLAY1(18, "Main Batteries: %d (4/3 D4)", ogre.main_bats); X! } else {DISPLAY0(18, " ");} X X if(redraw || last.sec_bats != ogre.sec_bats) X if(ogre.sec_bats > 0) { X*************** X*** 24,32 X else display(18, " "); X X if(redraw || last.sec_bats != ogre.sec_bats) X! if(ogre.sec_bats > 0) X! display(19, "Secondary Batteries: %d (3/2 D3)", ogre.sec_bats); X! else display(19, " "); X X if(redraw || last.missiles != ogre.missiles) X if(ogre.missiles > 0) X X--- 24,32 ----- X } else {DISPLAY0(18, " ");} X X if(redraw || last.sec_bats != ogre.sec_bats) X! if(ogre.sec_bats > 0) { X! DISPLAY1(19, "Secondary Batteries: %d (3/2 D3)", ogre.sec_bats); X! } else { DISPLAY0(19, " ");} X X if(redraw || last.missiles != ogre.missiles) X if(ogre.missiles > 0) { X*************** X*** 29,37 X else display(19, " "); X X if(redraw || last.missiles != ogre.missiles) X! if(ogre.missiles > 0) X! display(20, "Missiles: %d (6/5 D3)", ogre.missiles); X! else display(20, " "); X X if(redraw || last.ap != ogre.ap) X if(ogre.ap > 0) X X--- 29,37 ----- X } else { DISPLAY0(19, " ");} X X if(redraw || last.missiles != ogre.missiles) X! if(ogre.missiles > 0) { X! DISPLAY1(20, "Missiles: %d (6/5 D3)", ogre.missiles); X! } else { DISPLAY0(20, " ");} X X if(redraw || last.ap != ogre.ap) X if(ogre.ap > 0) { X*************** X*** 34,42 X else display(20, " "); X X if(redraw || last.ap != ogre.ap) X! if(ogre.ap > 0) X! display(21, "Anti-personnel: %2d (1/1 D1)", ogre.ap); X! else display(21, " "); X X if(redraw || last.treads != ogre.treads) X if(ogre.treads > 0) X X--- 34,42 ----- X } else { DISPLAY0(20, " ");} X X if(redraw || last.ap != ogre.ap) X! if(ogre.ap > 0) { X! DISPLAY1(21, "Anti-personnel: %2d (1/1 D1)", ogre.ap); X! } else { DISPLAY0(21, " ");} X X if(redraw || last.treads != ogre.treads) X if(ogre.treads > 0) { X*************** X*** 39,47 X else display(21, " "); X X if(redraw || last.treads != ogre.treads) X! if(ogre.treads > 0) X! display(22, "Treads: %2d (1/* D1)", ogre.treads); X! else display(22, " "); X X if(redraw || last.movement != ogre.movement) X display(23, "Movement: %d", ogre.movement); X X--- 39,47 ----- X } else { DISPLAY0(21, " ");} X X if(redraw || last.treads != ogre.treads) X! if(ogre.treads > 0) { X! DISPLAY1(22, "Treads: %2d (1/* D1)", ogre.treads); X! } else { DISPLAY0(22, " ");} X X if(redraw || last.movement != ogre.movement) { X DISPLAY1(23, "Movement: %d", ogre.movement);} X*************** X*** 43,50 X display(22, "Treads: %2d (1/* D1)", ogre.treads); X else display(22, " "); X X! if(redraw || last.movement != ogre.movement) X! display(23, "Movement: %d", ogre.movement); X X copy(&last, &ogre, sizeof(last)); X X X--- 43,50 ----- X DISPLAY1(22, "Treads: %2d (1/* D1)", ogre.treads); X } else { DISPLAY0(22, " ");} X X! if(redraw || last.movement != ogre.movement) { X! DISPLAY1(23, "Movement: %d", ogre.movement);} X X copy(&last, &ogre, sizeof(last)); X SHAR_EOF if test 4136 -ne "`wc -c < 'ogrestat.c.pat'`" then echo shar: error transmitting "'ogrestat.c.pat'" '(should have been 4136 characters)' fi fi # end of overwriting check echo shar: extracting "'resolve.c.pat'" '(502 characters)' if test -f 'resolve.c.pat' then echo shar: will not over-write existing file "'resolve.c.pat'" else sed 's/^ X//' << \SHAR_EOF > 'resolve.c.pat' X*** resolve.c Wed Jul 29 08:21:00 1987 X--- resolve.c.new Wed Jul 29 08:19:09 1987 X*************** X*** 57,63 X OGRE *allocations; X { X X! display(16, "Resolving..."); cycle(); X X if(allocations -> missiles > 0) { X if(crt[roll()][odds(allocations -> missiles, DEF_MISSILES)] == X X--- 57,63 ----- X OGRE *allocations; X { X X! DISPLAY0(16, "Resolving..."); cycle(); X X if(allocations -> missiles > 0) { X if(crt[roll()][odds(allocations -> missiles, DEF_MISSILES)] == SHAR_EOF if test 502 -ne "`wc -c < 'resolve.c.pat'`" then echo shar: error transmitting "'resolve.c.pat'" '(should have been 502 characters)' fi fi # end of overwriting check # End of shell archive exit 0