home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Devil's Doorknob BBS Capture (1996-2003)
/
devilsdoorknobbbscapture1996-2003.iso
/
Dloads
/
WWIVMODS
/
MODSUNKN.ZIP
/
GAMEID.MOD
< prev
next >
Wrap
Text File
|
1990-08-29
|
3KB
|
83 lines
Nowhere Fast #89 @7309
Wed Aug 22 08:26:54 1990
----------------------------------------------------------------------------
GAMEID.MOD by Nowhere Fast a.k.a. Hollie Satterfield
1@7310, Eldritch Boulevard BBS, 703-931-0431
Ever wonder who's on your BBS when you see a game being played? This mod
keeps the user name on the screen during a game so you can tell.
The mod displays the user name on the sysop screen (only), while the game
program is being run. It only works on games which (1) use DOS interrupts
and (2) don't shrink the BBS to run: other games will not be affected.
It displays the user name on line 25, and prevents line 25 from scrolling
off, so as long as a game does not address line 25 directly the user name
will remain on the sysop screen. I have not found any games that are
adversely affected.
It is probably not well known (because it so rarely happens), but if a user
has his lines-per-page flag set below 20, WWIV does not take the user status
information off the top of the screen. This mod doesn't try to lock the
name on the screen if lines-per-page < 20, since ALL the user information
is still at the top of the screen. It also doesn't try to lock the name on
the screen if you are playing locally.
----------------------------------------------------------------------------
Load up EXTRN.C and find:
int full_external(char *s, int ctc, int ccc)
Right after the { add this line:
char n[81]; int i; /* GAMEID mod */
Now go down about 25 lines, you'll see a block of code that looks like:
if ((screenlinest<=defscreenbottom) && (screenlinest>20)) {
screenbottom=screenlinest-1+topline;
cy=wherey();
cx=wherex();
xxx=cy-screenbottom+topline;
if (xxx>0) {
SCROLL_UP(topline,defscreenbottom,xxx);
movecsr(cx,screenbottom);
}
}
Add this code immediately afterward:
/* start GAMEID mod */
else if ((screenlinest>defscreenbottom-topline) && (incom)) {
screenbottom=23+topline;
cy=wherey();
cx=wherex();
xxx=cy-screenbottom+topline;
if (xxx>0) {
SCROLL_UP(topline,defscreenbottom,xxx);
movecsr(cx,screenbottom);
}
}
n[0]=32;
n[1]=0x70; /* 0x70 is the hexadecimal attribute for inverse, you can
this to any other color that you like by changing it
to another hex number between 0x00 and 0xFF. */
for (i=1; i<=strlen(thisuser.name); i++) {
n[i*2+1]=0x70; n[i*2]=thisuser.name[i-1];
}
n[strlen(thisuser.name)*2+2]=32;
n[strlen(thisuser.name)*2+3]=0x70;
puttext(1,25,strlen(thisuser.name)+2,25,n);
/* end GAMEID mod */
----------------------------------------------------------------------------
That's it, recompile/relink your BBS.EXE. The next time a user plays one
of your games that has DOS interrupts on and shrink off, you'll see his
name in inverse down at the bottom of the screen.
License granted to freely distribute without compensation and to
modify as needed "to get the job done." Use at your own risk.
Distributed "as is". No warranty or guarantee.
Any problems call Eldritch Boulevard BBS at 703-931-0431.