home *** CD-ROM | disk | FTP | other *** search
- Nicolas Leblanc #2 @20302
- Sun Jun 18 23:42:05 1995
- ┌┬─── ── ─ ─ ── ───────────────────────────────────────────────────┬─ ∙∙
- ││ Alternative Worlds Presents │
- └┼─────────────────────────────────────────────────────────────────────┐
- ││ Mod Name » FMD-39a.MOD │∙
- ││ Difficulty » ███▒▒▒▒▒▒▒▒ (3/10) │:
- ││ WWIV Version » 4.24 ││
- ││ Date Affected » 06/01/95 ││
- :│ Files Affected » MSGBASE.C / BBSUTL.C / VARS.H ││
- ∙│ Description » Keep Color In Internal Editor ││
- └─────────────────────────────────────────────────────────────────────┼┐
- │ A French Mod Division Release - (C) 1995 FMD Software ││
- ∙∙ ─┴─────────────────────────────────────────────────── ── ─ ─ ── ───└┘
-
-
- ┌┬══════════════════┐
- ││ Long Description ││
- └══════════════════┴┘
-
- This modification will fix the bug WWIV has when changing line in the normal
- WWIV editor, it will keep the color selected on previous lines.
-
- Revision A:
-
- - Updated for WWIV v4.24
-
- ┌┬═══════┐
- ││ Tests ││
- └═══════┴┘
-
- This modification has been tested on a virgin WWIV v4.24 source using
- Borland C++ v4.5
-
- ──────────────────────────────────────────────────────────────────────────────
- Legend
- ╔═══╤══════════════════┐
- │ + │ Add This Line │
- │ - │ Delete This Line │
- │ * │ Modify This Line │
- │ = │ Existing Line │
- └═══╧══════════════════╝
- ───[Step 1]────────────────────────────────────────────────────────────────────
-
- In VARS.H add these to the extern declarations:
-
- = ver_no2[51],wwiv_net_no[20], xdate[9], *xenviron[50],
- * dlfn[81],edlfn[81], nete[5], irt_sub[81], lastcolor;
-
- ───[Step 2]────────────────────────────────────────────────────────────────────
-
- Load BBSUTL.C and do this change to void inli2
-
-
- And lower in the CTRL-P handling..
-
- = case 16: /* Ctrl-P */
- = if (cp<maxlen-1) {
- = ch=getkey();
- = if ((ch>='0') && (ch<='9')) {
- = s[cp++]=3;
- = s[cp++]=ch;
- = ansic(ch-'0');
- + lastcolor=ch;
- = } else if ((ch==16) && (cp<maxlen-2)) {
- = ch=getkey();
-
- ───[Step 3]────────────────────────────────────────────────────────────────────
-
- Load MSGBASE.C and do this change to read_message1 and in void inmsg:
-
- declarations at the top, add:
-
- =void inmsg(messagerec *m1, char *title, int *anony, int needtitle, char *aux, int fsed, char *dest, int flags)
- ={
- * char s[181],s1[181],ro[81],fnx[81],chx,*ss,*ss1, fn1[81], fn2[81],*nd,tmp[81];
-
-
- then, lower:
-
- = bbsfree((void *)lin);
- = setiia(oiia);
- = if (menu_on())
- = rip_restoreall();
- = return;
- = }
- + lastcolor='0';
- = if (!fsed) {
- = outstr(get_string(627));
-
- then, lower:
-
- = s[thisuser.screenchars]=0;
- = pl(s);
- =
- = while (!done && !hangup) {
- = helpl=27;
- + if (ro[0]!=0) {
- + sprintf(tmp,"%c",lastcolor);
- + strcat(tmp,ro);
- + strcpy(ro,tmp);
- + } else
- + sprintf(ro,"%c",lastcolor);
- = while (inli2(s,ro,160,1,curli)) {
- = --curli;
- = strcpy(ro,&(lin[(curli)*LEN]));
- = if (strlen(ro)>thisuser.screenchars-1)
- = ro[thisuser.screenchars-2]=0;
-
- And lower:
-
- * if ((s[2]=='/') || (s[0]=='/')) {
- * if (stricmp(stripcolors(s),get_string(942))==0) {
- = savel=0;
- = printmenu(2);
- = }
- * if (stricmp(stripcolors(s),get_string(943))==0) {
- = savel=0;
- = prt(5,get_string(630));
- = i1=yn();
- = i2=0;
- = for (i=0; (i<curli) && (!i2); i++) {
- = if (i1)
- = npr("%d:\r\n",i+1);
- = strcpy(s1,&(lin[i*LEN]));
- = i3=strlen(s1);
- = if (s1[i3-1]==1)
- = s1[i3-1]=0;
- = if (s1[0]==2) {
- = strcpy(s1,&(s1[1]));
- = i5=0;
- = for(i4=0; i4<strlen(s1); i4++)
- = if ((s1[i4]==8) || (s1[i4]==3))
- = --i5;
- = else
- = ++i5;
- = for (i4=0; (i4<(thisuser.screenchars-i5)/2) && (!i2); i4++)
- = osan(" ",&i2,&i1);
- = }
- = pla(s1,&i2);
- = }
- = nl();
- = pl(get_string(631));
- = }
- * if ((stricmp(stripcolors(s),get_string(944))==0) || (stricmp(stripcolors(s),get_string(945))==0)) {
- = save=1;
- = done=1;
- = savel=0;
- = }
- * if ((stricmp(stripcolors(s),get_string(946))==0) || (stricmp(stripcolors(s),get_string(947))==0)) {
- = save=1;
- = done=1;
- = savel=0;
- = setanon=1;
- = }
- * if ((stricmp(stripcolors(s),get_string(948))==0) || (stricmp(stripcolors(s),get_string(949))==0)) {
- = save=1;
- = done=1;
- = savel=0;
- = setanon=-1;
- = }
- * if (stricmp(stripcolors(s),get_string(950))==0) {
- = done=1;
- = savel=0;
- = }
- * if (stricmp(stripcolors(s),get_string(951))==0) {
- = savel=0;
- = curli=0;
- = pl(get_string(632));
- = nl();
- = }
- * if (stricmp(stripcolors(s),get_string(952))==0) {
- = savel=0;
- = if (curli) {
- = --curli;
- = pl(get_string(633));
- = } else {
- = pl(get_string(634));
- = }
- = }
- * if (stricmp(stripcolors(s),get_string(953))==0) {
- = savel=0;
- = helpl=26;
- = if (okansi()) {
- = prt(2,get_string(326));
- = mpl(60);
- = inputl(title,60);
- = } else {
- = pl(get_string(626));
- = outstr(get_string(326));
- = inputl(title,60);
- = }
- = pl(get_string(631));
- = nl();
- = }
- + i3=strlen(s);
- + for (i2=2;i2<i3;i2++)
- + s1[i2-2]=s[i2];
- + s1[3]=0;
- = if (stricmp(s1,get_string(954))==0) {
- - s1[0]=2;
- - strcpy((&s1[1]),&(s[3]));
- + sprintf(s2,"%c%c%c",2,3,s[1]);
- + i3=strlen(s);
- + for (i2=5;i2<i3;i2++)
- + s2[i2-2]=s[i2];
- + s2[i3-2]=0;
- * strcpy(s,s2);
- = }
- = if ((stricmp(s1,get_string(955))==0) && (s[3]=='/') && (curli)) {
- = strcpy(s1,&(s[4]));
- = ss=strstr(s1,"/");
- = if (ss) {
- = ss1=&(ss[1]);
- = ss[0]=0;
- = stuff(&(lin[(curli-1)*LEN]),s1,ss1);
- = pl(get_string(635));
- = pl(&(lin[(curli-1)*LEN]));
- = pl(get_string(956));
- = }
- = savel=0;
- = }
- = }
- = if (savel) {
-
-
- ───[Step 4]────────────────────────────────────────────────────────────────────
-
-
- That's it, simply do a MAKE FCNS and recompile the entire system.
-
-
- French Proverb: La patience est une vertue.
-
- For comments, bug report and suggestion, e-mail at the following address:
-
- Nicolas LeBlanc 2@20302.WWIVnet (aka Spotnick)
- -> spotnick@gamemaster.qc.ca
- Martin Bourdages 242@20306 / 3@20302.WWIVnet (aka Dark Shadow)
- -> martin.bourdages@radio.magicnet.com
-
- => French Mod Division Support Sub <=
- SubType: FMD
- Host: @20302 (WWIVnet)
- Scan sublist for other networks
-
- Read PRODUCTS.FMD for the full list of our support systems.
-
- ───[EOF]──────────────────────────────────────────────────────────────────────
-