[net.sources] Fix for OGRE.6 Screen Handling

root@idmi-cc.UUCP (Admin) (01/29/85)

The following is a patch to Mike Caplinger's OGRE.6 game.  It solves
the problems he was having with screen handling (at least for the moment).
The mods go into the file 'map.c'.
One word of warning - Our 'C' compiler only recognises 8 significant characters
on identifier names - Mike uses about 10,  Check the mod carefully when
you install it for any 'undeclaired' identifiers - I tried to stick close
enough to the mnemonics he was using, so this should not be a difficult
problem to trace.  (In all honesty I didn't have enough space to keep 
the unmodified originals around so I'm not even sure this mod uses any of
the altered identifiers.)

-----
"Anybody Wanna Buy A Beagle???"

			Andrew R. Scholnick
			Information Design and Management Inc., Alexandria, Va.
		{rlgvax,prcrs}!idmi-cc!andrew

-------------C U T   H E R E-----------C U T   H E R E-------------------------
359c359
< display(line, format, args, args1, args2, args3, args4, args5)
---
> display(line, format, args)
362c362
< int *args, *args1, *args2, *args3, *args4, *args5;
---
> int args;
365,369d364
<     int x,s;
<     char *cp;
< 
<     cp = format; x=0;
<     while (*cp) if (*cp++ == '%') { x++; if(*cp == 's') s=x; }
372,388c367
<     switch (x) {
< 	    case 1: printf (format, args);
< 		    break;
< 	    case 2: printf (format, args, args1);
< 		    break;
< 	    case 3: if (s==1)
< 			printf (format, (char*)args, args1, args2);
< 		    else
< 	    		printf (format, args, args1, args2);
< 		    break;
< 	    case 5: printf (format, (char*)args, args1, args2,
< 			    args3, args4);
< 		    break;
< 	    default:
< 		    printf (format);
< 		    break;
<     }
---
>     _doprnt(format, &args, stdout);
393c372
< dspl_xy(line, col, format, args, args1, args2, args3, args4, args5)
---
> dspl_xy(line, col, format, args)
396c375
< int *args, *args1, *args2, *args3, *args4, *args5;
---
> int args;
399,403d377
<     int x;
<     char *cp;
< 
<     cp = format;
<     while (*cp) if (*cp++ == '%') x++;
406,417c380
<     switch (line) {
< 	    case 19: printf (format, *args);
< 		    break;
< 	    case 22: printf (format, args);
< 		    break;
< 	    case 18:
< 	    case 17: printf (format, args, args1, args2);
< 		    break;
< 	    default:
< 		    printf (format);
< 		    break;
<     }
---
>     _doprnt(format, &args, stdout);
419a383,384
> 
>