version 1.4, 2001/01/29 01:58:07 |
version 1.5, 2001/05/23 22:20:35 |
|
|
} SCORE; |
} SCORE; |
|
|
|
|
VOID vtmove __P((int, int)); |
void vtmove __P((int, int)); |
VOID vtputc __P((int)); |
void vtputc __P((int)); |
VOID vtpute __P((int)); |
void vtpute __P((int)); |
int vtputs __P((char *)); |
int vtputs __P((char *)); |
VOID vteeol __P((void)); |
void vteeol __P((void)); |
VOID updext __P((int, int)); |
void updext __P((int, int)); |
VOID modeline __P((MGWIN *)); |
void modeline __P((MGWIN *)); |
VOID setscores __P((int, int)); |
void setscores __P((int, int)); |
VOID traceback __P((int, int, int, int)); |
void traceback __P((int, int, int, int)); |
VOID ucopy __P((VIDEO *, VIDEO *)); |
void ucopy __P((VIDEO *, VIDEO *)); |
VOID uline __P((int, VIDEO *, VIDEO *)); |
void uline __P((int, VIDEO *, VIDEO *)); |
VOID hash __P((VIDEO *)); |
void hash __P((VIDEO *)); |
|
|
|
|
int sgarbf = TRUE; /* TRUE if screen is garbage. */ |
int sgarbf = TRUE; /* TRUE if screen is garbage. */ |
|
|
* is marked as garbage, so all the right stuff happens |
* is marked as garbage, so all the right stuff happens |
* on the first call to redisplay. |
* on the first call to redisplay. |
*/ |
*/ |
VOID |
void |
vtinit() |
vtinit() |
{ |
{ |
VIDEO *vp; |
VIDEO *vp; |
|
|
* the cursor to the last line, erase the line, and |
* the cursor to the last line, erase the line, and |
* close the terminal channel. |
* close the terminal channel. |
*/ |
*/ |
VOID |
void |
vttidy() |
vttidy() |
{ |
{ |
|
|
|
|
* on the line, which would make "vtputc" a little bit |
* on the line, which would make "vtputc" a little bit |
* more efficient. No checking for errors. |
* more efficient. No checking for errors. |
*/ |
*/ |
VOID |
void |
vtmove(row, col) |
vtmove(row, col) |
int row, col; |
int row, col; |
{ |
{ |
|
|
* makes the tab code loop if you are not careful. |
* makes the tab code loop if you are not careful. |
* Three guesses how we found this. |
* Three guesses how we found this. |
*/ |
*/ |
VOID |
void |
vtputc(c) |
vtputc(c) |
int c; |
int c; |
{ |
{ |
|
|
* yet on left edge, don't print it yet. Check for overflow on the right |
* yet on left edge, don't print it yet. Check for overflow on the right |
* margin. |
* margin. |
*/ |
*/ |
VOID |
void |
vtpute(c) |
vtpute(c) |
int c; |
int c; |
{ |
{ |
|
|
* the software cursor is located. The display routines will decide if a |
* the software cursor is located. The display routines will decide if a |
* hardware erase to end of line command should be used to display this. |
* hardware erase to end of line command should be used to display this. |
*/ |
*/ |
VOID |
void |
vteeol() |
vteeol() |
{ |
{ |
VIDEO *vp; |
VIDEO *vp; |
|
|
* correct for the current window. Third, make the |
* correct for the current window. Third, make the |
* virtual and physical screens the same. |
* virtual and physical screens the same. |
*/ |
*/ |
VOID |
void |
update() |
update() |
{ |
{ |
LINE *lp; |
LINE *lp; |
|
|
* virtual and physical screens the same when |
* virtual and physical screens the same when |
* display has done an update. |
* display has done an update. |
*/ |
*/ |
VOID |
void |
ucopy(vvp, pvp) |
ucopy(vvp, pvp) |
VIDEO *vvp; |
VIDEO *vvp; |
VIDEO *pvp; |
VIDEO *pvp; |
|
|
* column greater than the terminal width. The line will be scrolled right or |
* column greater than the terminal width. The line will be scrolled right or |
* left to let the user see where the cursor is |
* left to let the user see where the cursor is |
*/ |
*/ |
VOID |
void |
updext(currow, curcol) |
updext(currow, curcol) |
int currow, curcol; |
int currow, curcol; |
{ |
{ |
|
|
* line when updating CMODE color lines, because of the way that |
* line when updating CMODE color lines, because of the way that |
* reverse video works on most terminals. |
* reverse video works on most terminals. |
*/ |
*/ |
VOID |
void |
uline(row, vvp, pvp) |
uline(row, vvp, pvp) |
int row; |
int row; |
VIDEO *vvp; |
VIDEO *vvp; |
|
|
* that if STANDOUT_GLITCH is defined, first and last magic_cookie_glitch |
* that if STANDOUT_GLITCH is defined, first and last magic_cookie_glitch |
* characters may never be seen. |
* characters may never be seen. |
*/ |
*/ |
VOID |
void |
modeline(wp) |
modeline(wp) |
MGWIN *wp; |
MGWIN *wp; |
{ |
{ |
|
|
* Tuned for the VAX by Bob McNamara; better than it used to be on |
* Tuned for the VAX by Bob McNamara; better than it used to be on |
* just about any machine. |
* just about any machine. |
*/ |
*/ |
VOID |
void |
hash(vp) |
hash(vp) |
VIDEO *vp; |
VIDEO *vp; |
{ |
{ |
|
|
* i = 1; do { } while (++i <=size)" will make the code quite a |
* i = 1; do { } while (++i <=size)" will make the code quite a |
* bit better; but it looks ugly. |
* bit better; but it looks ugly. |
*/ |
*/ |
VOID |
void |
setscores(offs, size) |
setscores(offs, size) |
int offs; |
int offs; |
int size; |
int size; |
|
|
* which is acceptable because this routine is much less compute |
* which is acceptable because this routine is much less compute |
* intensive then the code that builds the score matrix! |
* intensive then the code that builds the score matrix! |
*/ |
*/ |
VOID |
void |
traceback(offs, size, i, j) |
traceback(offs, size, i, j) |
int offs; |
int offs; |
int size; |
int size; |