DR02.MOD Reworks the Q-scan and N-Scan! Dr. Tweez #1 @3653 Sat Feb 27 16:52:36 1993 ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ Mod Name : DR02.MOD Mod Author: Dr. Tweez 1@3653 SOLARnet ³ ³ Difficulty : ÛÛ±±±±±±±± 1@3650 GATEWAY ³ ³ WWIV Version : 4.22 ³ ³ Mod Date : 02/28/93 ³ ³ Files Affected: MSGBASE1.C, FCNS.H ³ ³ Description : Reworks the Q-Scan, and N-Scan Funtions ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ÍÍ[ Description ]ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ I found this mod from Rocker, but it was for 4.20, so I reworked it and got it to work on 4.22, I dont know if this has been released for 4.22 before, but hey I didnt see it. This also uses one void from Tolkeins ENHANCE.C file. ÍÍ[ Step 1 ]ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ Back up dat source! ÍÍ[ Step 2 ]ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ Load up FCNS.H and put this in at the end of COM.C: void clearscreen(); /*from Tolkeins ENHACNE.C*/ Save FCNS.H and move on. ÍÍ[ Step 3 ]ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ Load up COM.C and place this void at the end of the file: void clearscreen() /*From Tolkeins ENHANCE.C*/ /* * This function clears the screen, using ANSI escape codes if the user * has ANSI toggled on, else using the normal WWIV method of spitting out * an ASCII 012. * */ { if (okansi()) { outchr(12); outstr("\x1b[2J"); } else { outchr(12); } } Save COM.C. ÍÍ[ Step 4 ]ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ Load up MSGBASE1.C and replace these voids: void qscan(int bn, int *ns) void nscan(int ss) with these voids: void qscan(int bn, int *ns) { int i,nextsub,os,sn; char s[81],s1[81]; unsigned long qscnptrx,sd; sn=usub[bn].subnum; if ((hangup) || (sn<0)) return; qscnptrx=qsc_p[sn]; sd=sub_dates[sn]; if ((!sd) || (sd>qscnptrx)) { nextsub=*ns; os=cursub; cursub=bn; i=1; iscan(cursub); clearscreen(); if (okansi()) { npr("7Now Scanning Sub-Board 2þ\x1b[23D7Now Scanning Sub-Board 2þ0"); nl(); sprintf(s,"7[ÍÍÄÄ 2[4 %s 2]7 ÄÄÍÍ]0", subboards[curlsub].name); prt(1,s); nl(); } else { pl("Now Scanning Sub-Board:"); sprintf(s,"8[ 9%s 8]",subboards[curlsub].name); pl(s); } while ((i<=nummsgs) && (msgs[i].qscan<=qscnptrx)) ++i; if ((nummsgs>0) && (msgs[nummsgs].qscan<=qscnptrx)) { qsc_p[curlsub]=status.qscanptr-1; } if ((nummsgs>0) && (i<=nummsgs)) if (msgs[i].qscan>qsc_p[curlsub]) scan(i,2,&nextsub); cursub=os; *ns=nextsub; } else { clearscreen(); if (okansi()) { npr("9Now Scanning Sub-Board 2þ\x1b[23D9Now Scanning Sub-Board þ0"); nl(); sprintf(s,"7[ÍÍÄÄ 2[4 %s 2]7 ÄÄÍÍ]0", subboards[sn].name); prt(1,s); nl(); } else { pl("Now Scanning Sub-Board:"); sprintf(s,"[ %s ]",subboards[sn].name); prt(1,s); delay(10); } } nl(); clearscreen(); } void nscan(int ss) { int i,nextsub,abort,next; nl(); nextsub=1; clearscreen(); if (okansi()) pl("7[ÍÄÄ 2[4 Begin New Message Scan 2]7 ÄÄÍ]0"); else pl("[ Begin New Message Scan ]"); for (i=ss; (usub[i].subnum!=-1) && (i