home *** CD-ROM | disk | FTP | other *** search
/ The Arcade BBS / arcadebbs.zip / arcadebbs / bbstools / MODS / ALLMODS.ZIP / FMD-05A.ZIP / FMD-05A.MOD
Encoding:
Text File  |  1995-06-09  |  8.4 KB  |  237 lines

  1. Spotnick #1 @20397
  2. Mon Jun 05 02:05:58 1995
  3. 0R 34 06/09 07:13 WWIVNET 4051->8421
  4. 0R 34 06/08 18:18 WWIVNet 4001->4051
  5. 0R 34 06/08 14:07 WWIVnet 4000->4001
  6. 0R 34 06/08 05:34 WWIVnet ->4000
  7. 0R 34 06/05 22:43 WWIVnet 4001->4000
  8. 0R 34 06/06 06:35 WWIVnet 20001->4001
  9. 0R 34 06/05 02:07 WWIVnet 20397->20001
  10. 0R 34 06/05 02:10 WWIVnet ->20397
  11.  
  12.    ┌┬─── ──  ─   ─  ── ───────────────────────────────────────────────────┬─ ∙∙
  13.    ││                    Alternative Worlds Presents                      │
  14.    └┼─────────────────────────────────────────────────────────────────────┐
  15.    ││ Mod Name       » FMD-05a.MOD                                        │∙
  16.    ││ Difficulty     » █▒▒▒▒▒▒▒▒▒▒ (1/10)                                 │:
  17.    ││ WWIV Version   » 4.24                                               ││
  18.    ││ Date Affected  » 06/01/95                                           ││
  19.    :│ Files Affected » BBSOVL1.C                                          ││
  20.    ∙│ Description    » Multi-Network Sub-Listing                          ││
  21.     └─────────────────────────────────────────────────────────────────────┼┐
  22.     │       A French Mod Division Release - (C) 1995 FMD Software         ││
  23. ∙∙ ─┴─────────────────────────────────────────────────── ──  ─   ─  ── ───└┘
  24.  
  25.  
  26.  ┌┬══════════════════┐
  27.  ││ Long Description ││
  28.   └══════════════════┴┘
  29.  
  30.   This modification will display a dual columns sub listing with different
  31. network identifiers. Someone said that a picture is worth a thousand words,
  32. so here's what it will look like on your system. This version will work with
  33. any amount of networks on your system.
  34.  
  35. 7┌─────┬────────────────────────────────┬─────┬───────────────────────────────┐
  36. 7│4 Num 7│4 Name                           7│4 Num 7│4 Name                          7│
  37. 7└─────┴────────────────────────────────┴─────┴───────────────────────────────┘
  38.    French Mod Division Support Sub    2 WWIVsys Development Sub
  39.    3 FrancoLinkC4 US Robotics Support Sub
  40.    5 *BONG: The Depeche Mode Network    6 Internet: *BONG - The Depeche Mo
  41.    7 Bizarre Sub Triangle - The New O   8 Suburbia - The Pet Shop Boys Are
  42.    9 The RIP Art GalleryC10 The RIP Art Discussion Net
  43.   11 Asylum Mod Group SupportC12   Alternative SysOp
  44.   13 The WWIV Support NetworkC14 The Gravis UltraSound Support Ne
  45.   15 * WWIVmedia Mods SubC16 WWIVmedia Modifications Discussi
  46.   17 C++ Programming Tips and Tricks   18 The Baseball Net
  47.   19 TerraNET: Sysop DiscussionC20 WWIVnet: Québec Sysop Net
  48.   21 IceNET: Montréal Sysop Sub
  49.  
  50.  
  51. = WWIVnet, = WWIVlink, = IceNET, = TerraNET, = TARDISnet,
  52. = FILEnet, = WWIVmedia, = TestNET, = Gated.
  53.  
  54. 7[1Conf Main7]
  55. 7[1N7]1ew Conf7, [1Q7]1uit7, [1#7]1 Go to Sub #7: 0
  56.  
  57.  
  58. Note: ^ means that the sub is gated. You host or gate that sub yourself
  59.       * means that the sub is networked, by the color listed on the net list
  60.         below.
  61.  
  62. Revision A:
  63.  
  64.  - Updated For WWIV v4.24
  65.  
  66.  ┌┬═══════┐
  67.  ││ Tests ││
  68.   └═══════┴┘
  69.  
  70.   This modification has been tested on a virgin WWIV v4.24 source using
  71.   Borland C++ v4.5
  72.  
  73. ──────────────────────────────────────────────────────────────────────────────
  74.                                    Legend
  75.                           ╔═══╤══════════════════┐
  76.                           │ + │ Add This Line    │
  77.                           │ - │ Delete This Line │
  78.                           │ * │ Modify This Line │
  79.                           │ = │ Existing Line    │
  80.                           └═══╧══════════════════╝
  81. ───[Step 1]────────────────────────────────────────────────────────────────────
  82.  
  83. Load BBSOVL1.C and replace void sublist by the following one:
  84.  
  85. void sublist(void)
  86. {
  87.   int i, i1, abort, sn, en, done=0;
  88.   char s[80], s1[80], *ss, ch, id1, id2, c1, c2, c3;
  89.   xtrasubsnetrec *xnp, *xnp2;
  90.  
  91.   abort=0;
  92.   sn=0;
  93.   c3=thisuser.colors[0];
  94.   thisuser.colors[0]=15;
  95.   en=subconfnum-1;
  96.   do {
  97.     if (okconf(&thisuser)) {
  98.       sn=curconfsub;
  99.       en=curconfsub;
  100.     }
  101.     nl();
  102.     i=sn;
  103.     while ((i<=en) && (uconfsub[i].confnum!=-1) && (!abort)) {
  104.       i1=0;
  105.       pla("7┌─────┬────────────────────────────────┬─────┬───────────────────────────────┐",&abort);
  106.       pla("7│4 Num 7│4 Name                           7│4 Num 7│4 Name                          7│ ",&abort);
  107.       pla("7└─────┴────────────────────────────────┴─────┴───────────────────────────────┘0",&abort);
  108.       while ((i1<num_subs) && (usub[i1].subnum!=-1) && (!abort)) {
  109.         if (xsubs[usub[i1].subnum].num_nets) {
  110.           if (xsubs[usub[i1].subnum].num_nets>1)
  111.             id1='^';
  112.           else
  113.             id1='*';
  114.         } else
  115.           id1=32;
  116.         if ((xsubs[usub[i1+1].subnum].num_nets) && (i1+1<num_subs) && (usub[i1+1].subnum!=-1)) {
  117.           if (xsubs[usub[i1+1].subnum].num_nets>1)
  118.             id2='^';
  119.           else
  120.             id2='*';
  121.         } else
  122.           id2=32;
  123.         xnp=xsubs[usub[i1].subnum].nets;
  124.         xnp2=xsubs[usub[i1+1].subnum].nets;
  125.         if (xsubs[usub[i1].subnum].num_nets) {
  126.           if (xsubs[usub[i1].subnum].num_nets>1)
  127.             c1=12;
  128.           else {
  129.             c1=xnp->net_num+1;
  130.             if (c1>=12)
  131.               c1++;
  132.           }
  133.         } else
  134.           c1=0;
  135.         if ((xsubs[usub[i1+1].subnum].num_nets) && (i1+1<num_subs) && (usub[i1+1].subnum!=-1)) {
  136.           if (xsubs[usub[i1+1].subnum].num_nets>1)
  137.             c2=12;
  138.           else {
  139.             c2=xnp2->net_num+1;
  140.             if (c2>=12)
  141.               c2++;
  142.           }
  143.         } else
  144.           c2=0;
  145.         npr(" %3.3s ", usub[i1].keys, &abort);
  146.         setc(c1);
  147.         outchr(id1);
  148.         npr("%c%d %-32.32s", 3, 0, subboards[usub[i1].subnum].name);
  149.         if ((i1+1<num_subs) && (usub[i1+1].subnum!=-1)) {
  150.           npr(" %3.3s ", usub[i1+1].keys);
  151.           setc(c2);
  152.           outchr(id2);
  153.           sprintf(s, "%c%d %-32.32s", 3, 0, subboards[usub[i1+1].subnum].name);
  154.           pla(s, &abort);
  155.         }
  156.         i1+=2;
  157.       }
  158.       i++;
  159.       nl();
  160.       if (!okconf(&thisuser))
  161.         break;
  162.     }
  163.     if (i==0) {
  164.       ansic(6);
  165.       pla("None.",&abort);
  166.       nl();
  167.     }
  168.     nl();
  169.     if (net_num_max>1) {
  170.       for (i=0; i<net_num_max; i++)
  171.       {
  172.         if (strlen(net_networks[i].name)+6>80-WhereX())
  173.           nl();
  174.         if (i<11)
  175.           setc(i+1);
  176.         else
  177.           setc(i+2);
  178.         npr("*0 = %s, ", net_networks[i].name);
  179.       }
  180.       if (WhereX()>70)
  181.         nl();
  182.       npr("6^0 = Gated.");
  183.       nln(2);
  184.     }
  185.     if (okconf(&thisuser))
  186.       npr("7[1Conf %s7]\r\n", subconfs[uconfsub[curconfsub].confnum].name);
  187.     npr("%s7[1Q7]1uit7, [1#7]1 Go to Sub #7:0 ",
  188.        (okconf(&thisuser))?"7[1N7]1ew Conf7, ":"");
  189.     input(s, 4);
  190.     switch (upcase(s[0]))
  191.     {
  192.       case '#':
  193.         nl();
  194.         pl(get_string(939));
  195.         nl();
  196.       break;
  197.       case 'Q':
  198.       case '\r':
  199.         done=1;
  200.       break;
  201.       case 'N':
  202.         if (okconf(&thisuser))
  203.           jump_conf(CONF_SUBS);
  204.       break;
  205.       default:
  206.         for (i=0; (i<num_subs) && (usub[i].subnum!=-1); i++)
  207.           if (strcmp(usub[i].keys,s)==0)
  208.              cursub=i;
  209.         done=1;
  210.       break;
  211.     }
  212.   } while ((!done) && (!hangup));
  213.   thisuser.colors[0]=c3;
  214. }
  215.  
  216. ───[Step 2]────────────────────────────────────────────────────────────────────
  217.  
  218. Now recompile and you're done!
  219.  
  220. French Proverb: Pierre qui roule n'amasse pas mousse.
  221.  
  222. For comments, bug report and suggestion, e-mail at the following address:
  223.  
  224. Nicolas LeBlanc  2@20302.WWIVnet (aka Spotnick)
  225.                  -> spotnick@gamemaster.qc.ca
  226. Martin Bourdages 242@20306 / 3@20302.WWIVnet (aka Dark Shadow)
  227.                  -> martin.bourdages@radio.magicnet.com
  228.  
  229.                  =>   French Mod Division Support Sub   <=
  230.                                 SubType: FMD
  231.                            Host: @20302 (WWIVnet)
  232.                       Scan sublist for other networks
  233.  
  234.         Read PRODUCTS.FMD for the full list of our support systems.
  235.  
  236. ───[EOF]──────────────────────────────────────────────────────────────────────
  237.