home *** CD-ROM | disk | FTP | other *** search
/ The Devil's Doorknob BBS Capture (1996-2003) / devilsdoorknobbbscapture1996-2003.iso / Dloads / WWIVMODS / PRE412.ZIP / ELRIC5.MOD < prev    next >
Text File  |  1990-04-21  |  3KB  |  73 lines

  1. Welcome to the fifth in the series of Lord Elric's mods. This one  fixes a bug
  2. in WWIV in the menus. 
  3.  
  4.  
  5. ==============================================================================
  6. Here's the problem. Let's assume you are still holding over old files from 
  7. old versions of WWIV 4.05 or so, and you still have a file called MENUS40.MSG 
  8. for all your 40 column commodore users. Now, that's really considerate of you 
  9. if you have it, but what you don't know is that really screws your default 
  10. MENUSANS.MSG file up. Here's why it does it, and how to fix it.
  11.  
  12.  
  13. /** If you are using 4.11, there is no need to do this, Wayne Bell has 
  14. fixed it **/
  15.  
  16.  
  17. First, load up Turbo C, and call up SYSOPF1.C scan down to 
  18. void read_new_stuff()
  19.  
  20. Now, add these two lines, and change one line a little further down...
  21.  
  22.  
  23.   read_in_file("MENUS.MSG",(menus),30);
  24.   read_in_file("HELP.MSG",(helps),50);
  25.   for (i=0; i<30; i++) {
  26.     menus1[i].stored_as=0L;
  27.     menus1[i].storage_type=255;        /* add me */
  28.     menus2[i].stored_as=0L;            /* add me */
  29.     menus2[i].storage_type=255;
  30.   }
  31.  
  32.  
  33.   strcpy(s,syscfg.gfilesdir);
  34.   strcat(s,"MENUSANS.MSG");
  35.   if (exist(s))
  36.     read_in_file("MENUSANS.MSG",(menus1),30);
  37.   strcpy(s,syscfg.gfilesdir);
  38.   strcat(s,"MENUS40.MSG");
  39.   if (exist(s))
  40.     read_in_file("MENUS40.MSG",(menus2),30);   /* change this to (menus2) */
  41.                                                /* from (menus1) */
  42.   if (csn!=NULL)
  43.     farfree(csn);
  44.   if (cnn!=NULL)
  45.     farfree(cnn);
  46.  
  47.  
  48.  
  49. Now, why things get all screwed up. Well, as for the two lines you added, I 
  50. don't know why they weren't there, I suppose the BBS was just supposed to 
  51. assume they got initialized too...
  52.  
  53. As for the line you changed, it had to be a typo. The way the menus work is 
  54. that there is an array for each type of menus. The array contains pointers 
  55. into a file which tells where in the file the menu starts. The problem is, 
  56. according to the code, it reads in the info on MENUSANS.MSG in menus1, then it 
  57. reads in the info on MENUS40.MSG on top of them. So, if you have a transfer 
  58. menu for both formats, neither pointer is set. Menus2 points to who knows what,
  59. and menus1 points to the right place in MENUS40.MSG, which doesn't help it in 
  60. searching MENUSANS.MSG. Anyway, that doesn't really matter, all that matters 
  61. is that you get it fixed.
  62.  
  63. Well, anyway, you can go ahead and compile it now, and get rid of the bug.
  64. If you have any problems, you can reach me through WWIV-Net, 1@8251, or call 
  65. my BBS.
  66. The Kingdom of Melnibone
  67. 812-877-3488  24 Hrs a day
  68. 3/12/2400 baud
  69. Auto-validation of WWIV sysops on first call
  70. Xmodem, Ymodem, Zmodem, DSZ Zmodem with retry, Jmodem protocols supported
  71.  
  72. Lord Elric
  73.