proboard/HELP.CPP

355 lines
7.5 KiB
C++
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#include <tswin.hpp>
#include "proboard.hpp"
#define HELP 1
#define USER 2
#define MACRO 3
static int status = 0;
static Window win;
static int WINSIZE;
static
void near show()
{
int maxx = SCREEN.maxX;
word *buf = new word[ tsw_vsize * maxx ];
int x = SCREEN.getX();
int cursorline = SCREEN.getY();
int caplines = ( cursorline > tsw_vsize - ( WINSIZE + 2 ) )
? tsw_vsize - ( WINSIZE + 2 )
: cursorline;
tsw_gettext( buf,
1,
cursorline - caplines + 1,
maxx,
cursorline + 1 );
if ( cursorline > tsw_vsize - ( WINSIZE + 2 ) )
{
cursorline = tsw_vsize - ( WINSIZE + 2 );
}
byte att = SCREEN.attrib();
SCREEN.attrib( 7 );
SCREEN.clear();
SCREEN.change( 1,
1,
maxx,
tsw_vsize - ( WINSIZE + 1 ) );
tsw_puttext( buf,
1,
1,
maxx,
caplines );
// win.open( 1,
// tsw_vsize - WINSIZE,
// maxx,
// tsw_vsize - 1,
// 0x17,
// 0,
// SINGLE_BORDER );
win.open( 1,
tsw_vsize - WINSIZE,
maxx,
tsw_vsize - 1,
0x70,
0,
CHISEL_BORDER,
0x7F,
NULL,
0x78 );
SCREEN.setPos( x, cursorline );
SCREEN.attrib( att );
delete [] buf;
}
static
void near hide()
{
int maxx = SCREEN.maxX;
win.close();
word *buf = new word[ tsw_vsize * maxx ];
tsw_gettext( buf,
1,
1,
maxx,
tsw_vsize - ( WINSIZE + 1 ) );
byte att = SCREEN.attrib();
SCREEN.saveCursor();
SCREEN.attrib( 7 );
SCREEN.change( 1,
1,
maxx,
tsw_vsize - 1 );
SCREEN.clear();
SCREEN.restoreCursor();
SCREEN.attrib( att );
tsw_puttext( buf,
1,
1,
maxx,
tsw_vsize - ( WINSIZE + 1 ) );
delete [] buf;
}
void toggle_userinfo()
{
// if ( user_recnr < 0 )
// {
// return;
// }
//
//
// switch ( status )
// {
// case USER:
//
// hide();
//
// status = 0;
//
// break;
//
//
// case 0:
//
// WINSIZE = 5;
//
// show();
//
//
// default:
//
// if ( WINSIZE != 5 )
// {
// hide();
//
// WINSIZE = 5;
//
// show();
// }
//
//
// win.clear();
//
// win.attrib( 0x17 );
//
// win << " Handle : Flags :\n"
// " # Calls : Last call:\n"
// " Downloads: Uploads :";
//
// win.attrib( 0x1F );
//
// win.setpos( 13, 1);
// win << user.alias;
//
//
// win.setpos( 45, 1 );
//
// char s[ 33 ];
//
// user.aflags.flagstostr( s );
//
// win << s;
//
//
// win.setpos( 13, 2 );
//
// win << form( "%d", user.timescalled );
//
//
// win.setpos( 45, 2 );
//
// win << form( "%02d %3s %04d at %02d:%02d:%02d",
// user.lastdate[ 0 ],
// months_short[ user.lastdate[ 1 ] ],
// user.lastdate[ 2 ] + 1900, // Y2K FIX!
// user.lasttime[ 0 ],
// user.lasttime[ 1 ],
// user.lasttime[ 2 ] );
//
//
// win.setpos( 13, 3 );
//
// win << form( "%d (%d Kb)",
// user.numdownloads,
// user.kdownloaded );
//
//
// win.setpos( 45, 3 );
//
// win << form( "%d (%d Kb)",
// user.numuploads,
// user.kuploaded );
//
//
// SCREEN.setpos( SCREEN.getx(),
// SCREEN.gety() );
//
// status = USER;
//
// break;
// };
}
void toggle_help()
{
switch ( status )
{
case HELP:
hide();
status = 0;
break;
case 0:
WINSIZE = 7;
show();
default:
if ( WINSIZE != 7 )
{
hide();
WINSIZE = 7;
show();
}
win.clear();
win.attrib( 0x71 );
win << " [ShF1] Macro Help [AltM] Edit Current Menu [AltS] Static\n"
" [AltC] Chat [AltE] Edit User [AltH] Hang Up\n"
" [AltI] Image [AltJ] DOS Shell [AltL] Lock Out\n"
" [AltR] Reset Chat [Ctrl-Lt/Rt] Level [Up/Dn] Timer\n"
" [Home] Reset Status [F2-F10] Status [PgUp/PgDn] Cycle status";
SCREEN.setPos( SCREEN.getX(),
SCREEN.getY() );
status = HELP;
break;
}
}
void toggle_macrohelp()
{
switch ( status )
{
case MACRO:
hide();
status = 0;
break;
case 0:
WINSIZE = 7;
show();
default:
if ( WINSIZE != 7 )
{
hide();
WINSIZE = 7;
show();
}
win.clear();
for ( int i = 0; i < 10; i++ )
{
win.setPos( ( i / 5 ) * 38 + 2,
i % 5 + 1 );
//----------------------------
// JDR: REGISTRATION REFERENCE
//----------------------------
if ( registered )
{
win << form( "AF%-2d - %-27.27s",
i + 1,
cfg.sysopkeys[ i ] );
}
else
{
win << form( "AF%-2d - %-27.27s",
i + 1,
"REGISTER NOW!" );
}
}
SCREEN.setPos( SCREEN.getX(),
SCREEN.getY() );
status = MACRO;
break;
}
}