Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.2 9/17/84; site idmi-cc.UUCP Path: utzoo!watmath!clyde!burl!ulysses!allegra!mit-eddie!godot!harvard!seismo!rlgvax!idmi-cc!root From: root@idmi-cc.UUCP (Admin) Newsgroups: net.sources,net.sources.bugs,net.games Subject: Fix for OGRE.6 Screen Handling Message-ID: <138@idmi-cc.UUCP> Date: Tue, 29-Jan-85 10:02:01 EST Article-I.D.: idmi-cc.138 Posted: Tue Jan 29 10:02:01 1985 Date-Received: Wed, 30-Jan-85 19:05:53 EST Distribution: net Organization: Information Design and Management Inc., Arlington, Va. Lines: 85 Xref: watmath net.sources:2479 net.sources.bugs:210 net.games:1536 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 > >