home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Devil's Doorknob BBS Capture (1996-2003)
/
devilsdoorknobbbscapture1996-2003.iso
/
Dloads
/
SYSOP
/
MODS1.ZIP
/
BEAM105D.MOD
< prev
next >
Wrap
Text File
|
1995-05-24
|
13KB
|
363 lines
Beamer #357 @3475
Sat May 20 13:11:54 1995
0R 34 05/24 07:43 WWIVLink 2051->2050
0R 34 05/24 05:44 WWIVlink 13900->2051
0R 34 05/21 04:37 WWIVLink 314->13900
0R 34 05/20 13:07 WWIVLink 3475->314
0R 34 05/20 13:12 WWIVlink ->3475
7Msg Reply Status -0 2No Reply Necessary0
╔═══════════════════════════════════════════════════════════════════════════╗
║ MOD Desc : Adds a MATRIX Games area for all your games! ║
║ ║
║ Filename : BEAM105D.mod Mod Version : 1.05d ║
║ Author : Beamer & Zu Digital WWIV Version : 4.23 AND 4.24 ║
║ ║
║ Network : 7@2148 WWIVnet & 1@8421 WWIVnet ║
║ Addresses 1@3450 DesertNet ║
║ 1@3450 TazNet ║
║ 1@3452 Infiniti ║
║ 1@3459 TerraNet ║
║ ║
║ Last updated : 5/16/95 ║
║ Difficulty : █░░░░░░░░ ║
║ ║
╚═══════════════════════════════════════════════════════════════════════════╝
┌───────────────────────────────────────────────────────────────────────────┐
│ Legend: │
│ │
│ - Commeny out or delete │
│ + Add this │
│ = Leave alone │
│ @ Change this │
└───────────────────────────────────────────────────────────────────────────┘
┌───────────────────────────────────────────────────────────────────────────┐
│ Specail Notes: │
│ │
│ This version will work if you have 21 chains or less. I will soon be │
│ adding a dual matrix listing in the future versions. The ANSI below is │
│ edited to fit 1-21 games. READ '* NOTE *' below in step #3 to edit the │
│ location of the matrix menu to acomidate your location preferences. │
│ │
│ This mod has been FULLY tested on After Dark BBs and it has caused NO │
│ problems what so ever. If your pet snake swallows your dog, then │
│ you INSTALLED THIS WRONG, so go back and take a glance at it. │
│ │
│ BACK UP YOUR SOURCE!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! │
└───────────────────────────────────────────────────────────────────────────┘
┌───────────────────────────────────────────────────────────────────────────┐
│ Specail Credits: │
│ │
│ Zu Digital at WWIVnet 1@8421 │
│ For all the time that he has put in this mod & helping me get the │
│ mod to read internaly the names and then disply them in the menu │
│ │
│ Dawg at WWIVnet 1@2121 │
│ For helping me get the mod to exit the games that shrink and then │
│ return back to the Matrix Chains menu instead of the main board prompt │
└───────────────────────────────────────────────────────────────────────────┘
─────────────────────────────────────────────────────────────────────────────
Install the COMMON.MOD v2.2 -=- This is a COMMON.MOD!
DOE!¡!
─────────────────────────────────────────────────────────────────────────────
─────────────────────────────────────────────────────────────────────────────
Step 0: To Upgrade from BEAM105C.MOD, Look for the NOTE in step #3 and add
the 2 'curdloads=x'
─────────────────────────────────────────────────────────────────────────────
─────────────────────────────────────────────────────────────────────────────
Step 1: Open BBSUTL1.C and add this to the end.
NOTE: If you have PBCOMMON installed, then you may need to SKIP
this part! ONLY install this if you get an error saying...
'undefined _noabort in modual BBSOVL1.C' when you compile it.
─────────────────────────────────────────────────────────────────────────────
void noabort(unsigned char *fn)
{
int oic;
if (using_modem) {
oic=incom;
incom=0;
dump();
}
existprint(fn);
if (using_modem) {
dump();
incom=oic;
}
}
Add this to the end of UTILITY.C
void CLS(void)
{
if (okansi()) {
outchr(12);
outstr("\x1b[2J");
} else {
outchr(12);
}
}
─────────────────────────────────────────────────────────────────────────────
Step 2: Open BBSOVL1.C and add this at the top...
─────────────────────────────────────────────────────────────────────────────
= #pragma hdrstop
=
+ #include <conio.h>
= #include "subxtr.h"
=
= #define FRAME 7
+ #define WWIV_424 //Comment this out for WWIV ver. 4.23
+ #define CHAIN_OPTIONS (21)//Add/Subtract - Considering # of chains you have
+ //This is the # of chains that you have installed
Then skip down to void do_chain and add:
=void do_chains(void)
={
= int map[MAX_CHAINS],mapp,i,ok,done;
= char *ss;
= chainfilerec c;
=
+ if(okansi()) { /* ADD BEAM105d.MOD */
+ matrix_chains(); /* ADD BEAM105d.MOD */
+ return; /* ADD BEAM105d.MOD */
+ } /* ADD BEAM105d.MOD */
= tleft(1);
= mapp=0;
─────────────────────────────────────────────────────────────────────────────
Step 3: Open BBSOVL1.C and block copy the following code just above the
'void show_chains(int *mapp, int *map)'
─────────────────────────────────────────────────────────────────────────────
//START Block copy
void matrix_chains(void)
{
int i, match, done;
chainfilerec c;
showtextrec opt[CHAIN_OPTIONS];
varimenurec *menu=NULL, newmenu;
varimenuinfo info={YELLOW, GREEN, WHITE + (BLUE <<4), RED + (BLUE << 4),
LIGHTGRAY, COMMON_FULL, 0, 0, 0, 0, 0};
if(numchain > CHAIN_OPTIONS) {
sysoplog("Increase your CHAIN_OPTIONS in matrix chains mod");
CLS();
nl(); nl();
pl("6Please tell the SysOp that the games MOD has a problem!");
nl(); pausescr();
return;
}
match=0;
for(i=0; i < numchain; i++) {
c=chains[i];
if ((c.ansir & ansir_ansi) && (!okansi()))
;
#ifdef WWIV_424
else if ((c.ansir & ansir_rip_only) && (!rip_on()))
;
#endif
else if ((c.ansir & ansir_no_300) && (modem_speed==300) && incom)
;
else if ((c.ansir & ansir_local_only) && (using_modem))
;
else if (c.sl>actsl)
;
else if ((c.ar) && ((c.ar & thisuser.ar)==0))
;
else
{
// * NOTE *: edit the number 3 in the line below for menu highth.
// edit the number 24 in the line below for menu width.
// edit the number 29 in the line below for menu column.
build_showtextrec(&opt[i], 29, 3+match, 24, chains[i].description,
JUSTIFY_CENTER, ' ');
fillvarimenurec(&newmenu, &opt[i], SHOW_TEXT_TYPE,
chains[i].description[0], i, COMMON_ACTIVE);
menu=addvarimenu(menu, &newmenu);
++match;
}
}
// * NOTE *: edit the number 3 in the line below for menu highth.
// edit the number 24 in the line below for menu width.
// edit the number 29 in the line below for menu column.
build_showtextrec(&opt[i], 29, 3+match, 24, "Quit", JUSTIFY_CENTER, ' ');
fillvarimenurec(&newmenu, &opt[i], SHOW_TEXT_TYPE, 'Q', 999, COMMON_ACTIVE);
menu=addvarimenu(menu, &newmenu);
done=0;
topdata=0;
while((!done) && (!hangup)) {
curdloads=0; //NOTE: BEAM105D upgrade
CLS();
noabort("MATCHAIN");
info.redraw=COMMON_FULL;
varimenu(menu, &info);
/* Execute sysop commands */
if(do_sysop_command(info.event)) {
info.last=0;
info.redraw=COMMON_FULL;
CLS();
noabort("MATCHAIN");
}
/* Execute user commands */
switch(info.event) {
case EXECUTE:
switch(info.returnvalue) {
case 999:
CLS();
done=1;
break;
default:
curdloads=2; //NOTE: BEAM105D upgrade
CLS();
run_chain(info.returnvalue);
break;
}
break;
case GET_OUT:
CLS();
done=1;
break;
}
}
killvarimenu(menu);
}
void run_chain(int cn)
{
char s[255],s1[81],s2[81],s3[81];
int oc,inst,f;
long l;
inst=(inst_ok(INST_LOC_CHAINS, cn+1));
if (inst!=0) {
strcpy(s,get_string(1053));
strcat(s,chains[cn].description);
strcat(s,get_string(1054));
sprintf(s1,"5%d1. ",inst);
strcat(s,s1);
if (!(chains[cn].ansir & ansir_multi_user)) {
pl(s);
pl(get_string(1055));
return;
} else {
pl(s);
outstr(get_string(1056));
if (!(yn()))
return;
}
}
write_inst(INST_LOC_CHAINS, cn+1, INST_FLAGS_ONLINE);
#ifdef OPT_CHAIN_REG
chains_reg[cn].usage++;
sprintf(s,"%s%s",syscfg.datadir,get_string(1057));
f=sh_open(s,O_RDWR | O_BINARY | O_CREAT | O_TRUNC, S_IREAD | S_IWRITE);
if(f) {
sh_write(f,(void *)chains_reg, numchain * sizeof(chainregrec));
f=sh_close(f);
}
#endif
itoa(com_speed, s1, 10);
if ((com_speed==1) || (com_speed==49664))
strcpy(s1,"115200");
itoa(syscfgovr.primaryport,s2,10);
itoa(modem_speed, s3, 10);
stuff_in(s,chains[cn].filename,create_chain_file(),s1,s2,s3,"");
sprintf(s2,get_stringx(1,35),chains[cn].description);
sysoplog(s2);
oc=chatcall;
thisuser.chainsrun++;
if (chains[cn].ansir & ansir_no_DOS) {
set_protect(0);
if (chains[cn].ansir & ansir_shrink)
shrink_out(s,1,0,1,1);
else {
chatcall=0;
run_external(s);
}
} else {
if (chains[cn].ansir & ansir_shrink) {
if (chains[cn].ansir & ansir_no_pause) {
shrink_out(s,2,1,1,1);
} else {
shrink_out(s,1,1,1,1);
}
} else {
l=thisuser.sysstatus;
if (chains[cn].ansir & ansir_no_pause)
thisuser.sysstatus &= ~sysstatus_pause_on_page;
chatcall=0;
full_external(s,0,1);
thisuser.sysstatus = l;
}
}
chatcall=oc;
topscreen();
}
//END Block copy
──────────────────────────────────────────────────────────────────────────────
Step 4: You now need to run 'MAKE FCNS' BEFORE compiling or add the
voids above to FCNS.H manualy.
──────────────────────────────────────────────────────────────────────────────
──────────────────────────────────────────────────────────────────────────────
Step 5: UUEncode this MATCHAIN.ZIP and then unzip it, then copy MATCHAIN.ANS
ANSI into your GFILES directory...
──────────────────────────────────────────────────────────────────────────────
-------------------- START MATCHAIN.ANS --------------------------------------
section 1 of uuencode 5.10 of file matchain.zip by R.E.M.
begin 644 matchain.zip
M4$L#!!0````(`&2EL!YB6Z!N3@(``*@*```,````34%40TA!24XN04Y3E95+
M<N,@$(;WKO()O.DC2+;BS)27WN4*.H/N!EQ'`JXRT-#0+9"<4552"8_^OWYR
MFZ=AN<WWG]L\O,;78WQ-XZ+#9\)':\NV;;=Y'-^XL(2_A[2$VT-<N/\]V<Q[
MQ5)5,OAI!:#"MU<%@&PT7YJ^%Z.!3,=_E2E"_C8_'IG"U_-*'-?U_+9!E6J@
MM(Y$>/E!G(DM'0+@5P)ZL>5K(`AYQ\P@(O1W"QTBPF\(ZIU0R9E2B2GC:LJB
M:7FD]1W/=/_($VXP(A$C'4$TQ:/F^Q>ZS__4W4A9HV@G[+&TXOJRGN@F$P8!
MC.X@[!@BA.89X;M0+O:$PU5_BF,SCD*!:7K'>"8D)Y!$5?N^F\C=$N"B[RRG
M_D[J*']_FQK9HHQ*\G[1[S@6M`#<9X]51Y,YG7U>+$"CC4`U\"(T-$%`MHWL
MTRYXHL)*GL9,!0W/RLJ.]V15;I+@%<5:.`BZTZDIUN+Z0?`896,ZN8ALHD:/
M%&6`JQR`G*MTD`;Q8D4SX!'V$GC/>#FPJEW7CD\DVH#7?\MH\"&[7N)._`'Q
M2W1TJI?5;JZ-*J5<E*)H@.2EDREA\P01JE6J/A9AM."=E177S2D;`JI-:X)Q
MP5:?I:CN1Q--4=1";]HGE2)!<[$2L!2$JU*[O,[D4\!SMF.^V_M_#NHWJT53
M(KC41P$$[*Z%VQ&?5;X&H<(G?6H3!VX%!TY@[L;HH0]?1_,K6X=`"@"K"-L)
M['0*:]?K!5PO?5VVYSF;M=O'=Y),R52)Y[)$J];<B9OI27^&I)C::MQ@-'>]
M_`-02P$"%``4````"`!DI;`>8EN@;DX"``"H"@``#``````````!`"``````
E````34%40TA!24XN04Y34$L%!@`````!``$`.@```'@"````````
`
end
sum -r/size 64104/1013 section (from "begin" to "end")
sum -r/size 26482/712 entire input file
-------------------- End of MATCHAIN.ANS -------------------------------------
──────────────────────────────────────────────────────────────────────────────
Step 6: Compile and you are done!
NOTE: You may contact me at the address at the top of this mod at anytime
──────────────────────────────────────────────────────────────────────────────