home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Devil's Doorknob BBS Capture (1996-2003)
/
devilsdoorknobbbscapture1996-2003.iso
/
Dloads
/
SYSOP
/
MODS1.ZIP
/
SPV061IB.MOD
< prev
next >
Wrap
Text File
|
1995-05-31
|
16KB
|
417 lines
Papa Bear #1 @11579
7Sunday1, 7May 281, 71995 2106:251 am
0R 34 05/31 06:23 WWIVnet ->8339
0R 34 05/31 00:27 WWIVnet 8314->8304
0R 34 05/30 23:27 WWIVNET 4001->8314
0R 34 05/30 13:17 WWIVnet 4000->4001
0R 34 05/30 04:41 WWIVnet ->4000
0R 34 05/29 07:41 WWIVnet 4001->4000
0R 34 05/29 12:44 WWIVnet 11579->4001
0R 34 05/28 10:52 WWIVnet ->11579
4Msg. Status:9▄ 5Please reply!
9 ▀▀▀▀▀▀▀▀▀▀▀▀
┌────────────────────────────A CEREBRUM release!─────────────────────────────┐
│ Mod Name: SPV061IB.MOD Mod Authors: AquaMaestro, Pâpâ ßêâr (1@11579) │
│ Difficulty: ▓░░░░░░░░░ First ----- [12/25/93] │
│ WWIV Version: 4.24 Last ------ [05/28/95] │
│ Files Affected: VARDEC.H VARS.H COM.C BBSUTL.C MSGBASE.C MMENU.C │
│ UTILITY.C FCNS.H BBSOVL2.C XINIT.C NEWUSER.C │
│ Description: Give WWIV an additional 85 colors to work with. VERY, VERY │
│configurable from the main BBS prompt. │
╞═────────────────────────────────────═╤═───────────────────────────────────═╡
│ StarPort Valhalla [ ] - ASV 28.8kbps Home of the SPV mod series! │
└─────────────────────────────────────═╧═────────────────────────────────────┘
>>> OFFICIAL WWIV SUPPORT SITE! <<<
Word of Warning: You installed it, you're responsible! Make back-ups BEFORE
attempting to install this modification! Read all text before beginning.
─────────────────────────────────────────────────────────────────────────────
LEGEND:
== Original Code [use this to search on]
++ Add this Line [mods ALWAYS add stuff, don't they?]
-- Delete this Line [or comment out, its not needed]
─────────────────────────────────────────────────────────────────────────────
LONG DESCRIPTION: This is the 4.24 release of the modification orginally
written by AquaMaestro, and updated by me for 4.23 in Dec. of '93. Adds a
//COLOREDIT (//CLRE) that allows you to *very* easily set any of the colors
on your BBS to anything you'd like. //COLORINIT (//CLRI) sets things to a
default.
Please, do not use any colors other than the stock 0-9 on the net. Your
color definitions will not be the same as mine, or any one else's, and
sending those extended colors over the net is bad netiquette.
─────────────────────────────────────────────────────────────────────────────
STEP 1: Add this structure to VARDEC.H:
== char res[29]; /* RESERVED */
== } statusrec;
==
++ typedef struct {
++ unsigned char resx[240]; /* Includes padding */
++ } colorrec;
==
== /* MESSAGE BASE INFORMATION */
─────────────────────────────────────────────────────────────────────────────
STEP 2: Add this line to VARS.H:
== __EXTRN__ smalrec huge *smallist;
== __EXTRN__ subboardrec *subboards;
++ __EXTRN__ colorrec rescolor; // SPV061IB.MOD
== __EXTRN__ directoryrec huge *directories;
== __EXTRN__ usersubrec *usub, *udir;
─────────────────────────────────────────────────────────────────────────────
STEP 3: Add this block of code to the end of UTILITY.C
// SPV061IB.MOD BLOCK START
static int colorfile=-1;
void get_colordata(void)
{
char s[81];
if (colorfile<0) {
sprintf(s,"%sCOLOR.DAT",syscfg.datadir);
colorfile=sh_open1(s,O_RDWR | O_BINARY | O_CREAT);
read(colorfile,(void *)&rescolor,sizeof(colorrec));
colorfile=sh_close(colorfile);
}
}
void save_colordata(void)
{
char s[81];
sprintf(s,"%sCOLOR.DAT",syscfg.datadir);
colorfile=sh_open1(s,O_RDWR | O_BINARY | O_CREAT);
sh_write(colorfile,(void *)&rescolor),sizeof(colorrec));
colorfile=sh_close(colorfile);
}
void list_ext_colors(void)
{
goxy(40,7);
pl("7┌─────────────────────────┐0");
goxy(40,8);
pl("7│ 2COLOR LIST7 │0");
goxy(40,9);
pl("7├─────────────────────────┤0");
goxy(40,10);
pl("7│ !! \"\" ## $$ %% && '' (( )) ** ++7 │0");
goxy(40,11);
pl("7│ ,, -- .. // 00 11 22 33 44 55 66 77 │0");
goxy(40,12);
pl("7│ 88 99 :: ;; << == >> ?? @@ AA BB CC7 │0");
goxy(40,13);
pl("7│ DD EE FF GG HH II JJ KK LL MM NN OO7 │0");
goxy(40,14);
pl("7│ PP QQ RR SS TT UU VV WW XX YY ZZ [[7 │0");
goxy(40,15);
pl("7│ \\\\ ]] ^^ __ `` aa bb cc dd ee ff gg7 │0");
goxy(40,16);
pl("7│ hh ii jj kk ll mm nn oo pp qq rr ss7 │0");
goxy(40,17);
pl("7│ tt uu vv ww xx yy zz {{ || }} ~~ [[7 │0");
goxy(40,18);
pl("7├─────────────────────────┤0");
goxy(40,19);
pl("7│ │0");
goxy(40,20);
pl("7└─────────────────────────┘0");
}
void color_config(void)
{
char s[81],ch,ch1;
unsigned c;
int i,done=0,n;
strcpy(s," SAMPLE COLOR ");
get_colordata();
do {
outchr(12);
npr("5Extended Color Configuration 2- 3Enter Choice,0");
pl("1^Z 3to Quit, 1^R 3to Relist0");
outstr(": ");
list_ext_colors();
goxy(2,2);
ch=getkey();
if (ch==26)
done=1;
if (ch==18) {
list_ext_colors();
goxy(2,2);
}
if (ch>=32) {
outchr(ch);
n=ch-48;
nln(2);
color_list();
ansic(0);
nl();
prt(2,get_string(430));
ch1=onek("01234567");
c=ch1-'0';
goxy(41,19);
setc(c);
outstr(s);
ansic(0);
goxy(1,16);
prt(2,get_string(431));
ch1=onek("01234567");
c=c | ((ch1-'0') << 4);
goxy(41,19);
setc(c);
outstr(s);
ansic(0);
goxy(1,17);
nl();
prt(5,get_string(434));
if (yn())
c |= 0x08;
goxy(41,19);
setc(c);
outstr(s);
ansic(0);
goxy(1,18);
nl();
prt(5,get_string(437));
if (yn())
c |= 0x80;
nl();
goxy(41,19);
setc(c);
outstr(s);
ansic(0);
goxy(1,21);
setc(c);
outstr(describe(c));
ansic(0);
nln(2);
prt(5,get_string(438));
if (yn()) {
nl();
pl(get_string(439));
nl();
if ((n<=-1) && (n>=-16))
rescolor.resx[207+abs(n)]=c;
else if ((n>=0) && (n<=9))
thisuser.colors[n]=c;
else
rescolor.resx[n-10]=c;
} else {
nl();
pl(get_string(440));
nl();
}
}
} while ((!done) && (!hangup));
nln(2);
npr("5Save changes? 0");
if (yn())
save_colordata();
else
get_colordata();
outchr(12);
nln(3);
}
void buildcolorfile(void)
{
int i,i1,colorfile;
char s[81],s1[81];
sprintf(s1,"%sCOLOR.DAT",syscfg.datadir);
colorfile=sh_open1(s1,O_RDWR | O_BINARY | O_CREAT);
nl();
for (i=0; i<240; i++)
rescolor.resx[i]=i+1;
sh_write(colorfile, (void *)(&rescolor), sizeof(colorrec));
colorfile=sh_close(colorfile);
}
// SPV061IB.MOD BLOCK END
─────────────────────────────────────────────────────────────────────────────
STEP 4: In COM.C, void outchr(unsigned char c), make these changes:
== } else if (change_color==1) {
== change_color = 0;
++ if ((c>=32) && (c<=126)) // SPV061IB.MOD add
++ ansic(c-48); // SPV061IB.MOD add
-- if ((c >= '0') && (c <= '9')) // SPV061IB.MOD remove
-- ansic(c - '0'); // SPV061IB.MOD remove
== return;
== }
─────────────────────────────────────────────────────────────────────────────
STEP 5: Still in COM.C, replace void ansic(int n) with this one:
// SPV061IB.MOD start replacement block
void ansic(int n)
{
char c;
if ((n<=-1) && (n>=-16))
c=((thisuser.sysstatus & sysstatus_color) ?
rescolor.resx[207+abs(n)] : thisuser.bwcolors[0]);
if ((n>=0) && (n<=9))
c=((thisuser.sysstatus & sysstatus_color) ?
thisuser.colors[n] : thisuser.bwcolors[n]);
if ((n>=10) && (n<=207))
c=((thisuser.sysstatus & sysstatus_color) ?
rescolor.resx[n-10] : thisuser.bwcolors[0]);
if (c==curatr)
return;
setc(c);
makeansi((thisuser.sysstatus & sysstatus_color) ?
thisuser.colors[0] : thisuser.bwcolors[0],endofline,0);
}
// SPV061IB.MOD end replacement block
─────────────────────────────────────────────────────────────────────────────
STEP 6: Make these changes in BBSUTL.C, int inli2(...), case 16:
== case 16: /* Ctrl-P */
== if (cp<maxlen-1) {
== ch=getkey();
// SPV061IB START CHANGES
-- if ((ch>='0') && (ch<='9')) { // SPV061IB.MOD removed
-- s[cp++]=3; // SPV061IB.MOD removed
-- s[cp++]=ch; // SPV061IB.MOD removed
-- ansic(ch-'0'); // SPV061IB.MOD removed
++ if ((ch>=32) && (ch<=126)) { // SPV061IB.MOD add
++ s[cp++]=3; // SPV061IB.MOD add
++ s[cp++]=ch; // SPV061IB.MOD add
++ ansic(ch-48); // SPV061IB.MOD add
// SPV061IB END CHANGES
== } else if ((ch==16) && (cp<maxlen-2)) {
== ch=getkey();
==
== if (ch != 16) { // RIP font style code
─────────────────────────────────────────────────────────────────────────────
STEP 7: In BBSOVL2.C, void two_way_chat(...), replace case 16: with this
one:
// SPV061IB.MOD start replacement block
case 16: /* Ctrl-P */
if (side==0) {
if (cp0<maxlen-1) {
ch=getkey();
if ((ch>=32) && (ch<=126)) {
side0[WhereY()][cp0++]=3;
side0[WhereY()][cp0++]=ch;
ansic(ch-48);
}
}
} else {
if (cp1<maxlen-1) {
ch=getkey();
if ((ch>=32) && (ch<=126)) {
side1[WhereY()-13][cp1++]=3;
side1[WhereY()-13][cp1++]=ch;
ansic(ch-48);
}
}
}
break;
// SPV061IB.MOD end replacement block
─────────────────────────────────────────────────────────────────────────────
STEP 8: Make these changes in MSGBASE.C, void inmsg(...) :
== pln(maxli);
== pl(get_string(628));
++ pl("Colors: ^P-0112233445566778899AABBCC0" // SPV061IB.MOD
++ "DDEEFFGGHHIIJJKKLLMMNNOOPPQQRRSS0" // SPV061IB.MOD
++ "TTUUVVWWXXYYZZ0"); // SPV061IB.MOD
++ nl(); // SPV061IB.MOD
== strcpy(s,get_string(629));
== s[thisuser.screenchars]=0;
─────────────────────────────────────────────────────────────────────────────
STEP 9: In MMENU.C, void mainmenu(void), add these two command blocks:
== chuser();
== }
++ if ((strcmp(s,"COLOREDIT")==0) || (strcmp(s,"CLRE")==0)) //SPV061IB.MOD
++ color_config(); //SPV061IB.MOD
++ if ((strcmp(s,"COLORINIT")==0) || (strcmp(s,"CLRI")==0)) //SPV061IB.MOD
++ buildcolorfile(); //SPV061IB.MOD
== if (strcmp(s,"CLOUT")==0) {
== npr("\r\nNot Yet.\r\n");
─────────────────────────────────────────────────────────────────────────────
STEP 10: Add the function prototypes to FCNS.H:
== char *stripfn(char *fn);
== void stripfn1(char *fn);
++ void get_colordata(void); // SPV061IB.MOD
++ void save_colordata(void); // SPV061IB.MOD
++ void list_ext_colors(void); // SPV061IB.MOD
++ void color_config(void); // SPV061IB.MOD
++ void buildcolorfile(void); // SPV061IB.MOD
==
== /* File: xfer.c */
─────────────────────────────────────────────────────────────────────────────
STEP 11: Add this line to XINIT.C, void init(void)
== write_inst(INST_LOC_WFC,0,INST_FLAGS_NONE);
++ get_colordata(); // SPV061IB.MOD
== }
== /************************************************************************/
==
== void gotcaller(unsigned int ms, unsigned int cs)
─────────────────────────────────────────────────────────────────────────────
STEP 12: Add this line in NEWUSER.C, function void newuser(void)
== void newuser(void)
== {
== int i, ok;
== char s[255],s1[81],ch;
==
++ get_colordata(); // SPV061IB.MOD
== memset(&thisuser, 0, sizeof(userrec));
== memset(qsc, 0, syscfg.qscn_len);
─────────────────────────────────────────────────────────────────────────────
STEP 13: UUdecode this file, and place it in your DATA directory.
section 1 of uuencode 5.22 of file color.dat by R.E.M.
begin 644 color.dat
M`0(##P4&`@@*#0P/@82(B8J-A1D?*B\[/TQ/75]N;W]X(B,D!@LG"`H-#`^!
MA(B)BHV%&1\J+SL_3$]=7VYO?WA"#6I%1D=(24I+3$U.3U!14E-4!E976%E:
M6UQ=7E]@86)C9&5F9VAI:FML;6YO<'%R<W1U=G=X>7I[?'U^?X"!@H.$A8:'
MB(F*BXR-CH^0D9*3E)66EYB9FIN<G9Z?H*&BHZ2EIJ>HJ:JKK*VNK["QLK.T
MM;:WN+FZN[R]OK_`P<+#Q,7&Q\C)RLO,S<[/T-'2#M0,"@H)B@<%!`/>`>#A
/XN/DY>;GZ.GJZ^SM[N_P
`
end
sum -r/size 62576/358 section (from "begin" to "end")
sum -r/size 14788/240 entire input file
─────────────────────────────────────────────────────────────────────────────
STEP 14: Recompile the BBS. Once recompiled successfully, enter the BBS,
and type //CLRE at the main prompt.
─────────────────────────────────────────────────────────────────────────────
STEP 15: To enable all the new colors in WWIVEdit, make this change in the
*.DEF file that you want (LOCAL.DEF)
COLORS: [#1-#126] Legal Color Range (See CONFIG.DOC for format)
─────────────────────────────────────────────────────────────────────────────
This is the working 4.24 release of this mod. E-Mail me if ya like it.
Better yet, E-Mail Random (Wayne Bell) if you do, then maybe he'll get more
than 10 colors in WWIV 4.25!
Many, many thanks to AquaMaestro! If it weren't for him, this mod wouldn't
have been born.
This mod is copyright 1993,1994 by Tracy Baker, aka Papa Bear, and is
distributed as freeware. Permission is granted to distribute and post this
mod on BBS systems and online services, provided no alterations are made
(removal of message headers/taglines allowed). This mod may contain some
parts of WWIV source code, which is copyright 1988-1994 by Wayne Bell and
licensed only to registered users of WWIV. Use of WWIV source without
registration constitutes a license violation and could lead to legal
prosecution and certain doom.
Shareware distributors and CD-ROM publishers may not distribute this mod
without express written permission of the Author or WWIV Software Services.
7-9=1*6>2Pâpâ ßêâr6<1*9=7-0
8311579.wwivnet1· 2 ╪╫9≡8║7⌐¬4¥5╓╥╖1· · 2▒1 · 2▒ 3(510)522-35831 ·
732.sexnet 1∙ 6 ·0░░▒▒▓▓6∞0▓▒░6·2 StarPort ▒ ▒ 2 ▒1 ·2▒ ▒ ▒1 ·2 ▒ ▒1 ·2▒ ▒ 1·
6315061.wwivlink 0 ████1 · . 2 ▒ ▒ ▒ ▒ ▒1 · 2▒▒▒ ▒ ▒ ▒ ▒ ▒ ▒
535079.icenet 1. . 0 │└6·0└6· 1 ∙ 2 ▒ ▒ ▒ ▒▒▒ ▒ ▒ ▒1 ·2 ▒ ▒▒▒ ▒▒▒ ▒1 ∙ 2▒
---
1And the trees were all kept equal, by hatchet, axe, and saw...