home *** CD-ROM | disk | FTP | other *** search
- Flashman #1 @1630
- Sun Jun 11 15:10:40 1995
- ┌────────────────────────────────────────────────────────────────────────────┐
- │ Mod Name : LSD-002.424 Mod Author: Flashman 1@1630 WWIVNet │
- │ Difficulty : [▓▓▓▓░░░░░░] (4/10) 1@9930 TerraNet │
- │ WWIV Version : 4.24 1@9918 IceNET │
- │ Mod Date : 6/10/95 ndpj16c@prodigy.com Internet │
- │ Files Affected: BBSUTL.C, COM.C, FCNS.H, VARS.H │
- │ Description : Changes the [PAUSE] prompt to (C)ontinue, (S)top, (N)onstop? │
- └────────────────────────────────────────────────────────────────────────────┘
-
- ══[ Extended Description ]════════════════════════════════════════════════════
-
- Certain BBS softwares, such as MajorBBS and WildCat have a pause feature which
- gives the users much more control. Instead of just hitting a key to continue,
- you have the options to continue, abort, or continue without stopping. This
- mod give WWIV this feature.
-
- ══[ Legend ]══════════════════════════════════════════════════════════════════
-
- = Existing line - Do not change
- + Add this line
- - Remove this line
-
- ══[ Step 1 ]══════════════════════════════════════════════════════════════════
-
- Make backups of the files affected by this mod as listed in the mod header.
-
- ══[ Step 2 ]══════════════════════════════════════════════════════════════════
-
- In COM.C, add the following 2 functions right after "void pausescr":
-
- void pausecsn(void)
- {
- int i,i1,i2,oiia;
- char *ss;
- unsigned char c;
-
- if (x_only)
- return;
-
- nsp=0;
- oiia=iia;
- setiia(0);
-
- ss="(C)ontinue, (S)top, (N)onstop? ";
- i1=strlen(stripcolors(ss));
-
- c=NULL;
- if (okansi()) {
- i = curatr;
- setc((thisuser.sysstatus & sysstatus_color) ? thisuser.colors[2] :
- thisuser.bwcolors[2]);
- }
- outstr(ss);
- if (in_extern)
- getkey();
- else
- while ((c!='C') && (c!='Q') && (c!='S') && (c!='A') &&
- (c!='N') && (c!='\r') && (c!=' ') && (!hangup))
- c=upcase(getkeymouse());
- for (i2 = 0; i2<i1; i2++)
- backspace();
- if (okansi())
- setc(i);
-
- if (c!=NULL)
- switch(c) {
- case 'A':
- case 'S':
- case 'Q':
- nsp=-1;
- break;
- case 'N':
- if(thisuser.sysstatus & sysstatus_pause_on_page) {
- nsp=1;
- thisuser.sysstatus ^= sysstatus_pause_on_page;
- }
- break;
- }
- setiia(oiia);
- }
-
- void resetnsp(void)
- {
- if ((nsp==1) && (!(thisuser.sysstatus & sysstatus_pause_on_page)))
- thisuser.sysstatus ^= sysstatus_pause_on_page;
- nsp=0;
- }
-
- ══[ Step 3 ]══════════════════════════════════════════════════════════════════
-
- Still in COM.C, make the following changes in "void outchr":
-
- = if (lines_listed >= screenlinest - 1) {
- = if (sysstatus_pause_on_page & thisuser.sysstatus)
- = if (!x_only)
- - pausescr();
- + pausecsn();
- = lines_listed = 0;
-
- ══[ Step 4 ]══════════════════════════════════════════════════════════════════
-
- Still in COM.C, make the following changes in "char getkey":
-
- = int beepyet;
- = long dd,tv,tv1;
- =
- + resetnsp();
- = beepyet = 0;
- = timelastchar1=timer1();
-
- ══[ Step 5 ]══════════════════════════════════════════════════════════════════
-
- In BBSUTL.C, make the following changes in "void checka":
-
- = void checka(int *abort, int *next)
- = {
- = char ch;
- =
- + if (nsp==-1) {
- + *abort=1;
- + nsp=0;
- + }
- =
- = while ((!empty()) && (!(*abort)) && (!hangup)) {
- = checkhangup();
-
- ══[ Step 6 ]══════════════════════════════════════════════════════════════════
-
- In VARS.H, add "nsp" to the "__EXTRN__ int" declarations as shown:
-
- = use_workspace, using_modem, wfc, x_only,
- = instance,debuglevel,multitasker,tagging,tagptr,cursormove,
- - titled, abortext;
- + titled, abortext, nsp;
-
- ══[ Step 7 ]══════════════════════════════════════════════════════════════════
-
- Type MAKE FCNS to add the new functions to FCNS.H. Now compile your source.
-
- ══[ Final Note ]══════════════════════════════════════════════════════════════
-
- If you use this mod, I'd like to know. E-mail me at one of these contact
- addresses and let me know how you like it. Or if you haven't tried it out yet,
- let me know how you like the idea. Feel free to send any additional questions
- or comments as well.
-
- Flashman 1@1630 WWIVNet
- 1@9930 TerraNet
- 1@9918 IceNET
- Internet address: ndpj16c@prodigy.com
-