win32tty: use_inverse option
respect use_inverse and default to ATR_BOLD if disabled
This commit is contained in:
+1
-1
@@ -17,4 +17,4 @@ two bad wizkit items in a row shouldn't make the user hit space many times
|
|||||||
Platform- and/or Interface-Specific Fixes
|
Platform- and/or Interface-Specific Fixes
|
||||||
-----------------------------------------
|
-----------------------------------------
|
||||||
|
|
||||||
|
win32tty: honour the use_inverse option and default to ATR_BOLD if disabled
|
||||||
|
|||||||
+43
-35
@@ -1,4 +1,4 @@
|
|||||||
/* SCCS Id: @(#)nttty.c 3.4 2000/08/02
|
/* SCCS Id: @(#)nttty.c 3.4 2002/03/23 */
|
||||||
/* Copyright (c) NetHack PC Development Team 1993 */
|
/* Copyright (c) NetHack PC Development Team 1993 */
|
||||||
/* NetHack may be freely redistributed. See license for details. */
|
/* NetHack may be freely redistributed. See license for details. */
|
||||||
|
|
||||||
@@ -753,52 +753,60 @@ has_color(int color)
|
|||||||
# endif
|
# endif
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
|
||||||
term_end_attr(int attr)
|
|
||||||
{
|
|
||||||
switch(attr){
|
|
||||||
|
|
||||||
case ATR_ULINE:
|
|
||||||
case ATR_BOLD:
|
|
||||||
case ATR_BLINK:
|
|
||||||
standoutend();
|
|
||||||
break;
|
|
||||||
case ATR_INVERSE:
|
|
||||||
if (currentcolor == 0)
|
|
||||||
currentcolor = FOREGROUND_GREEN|FOREGROUND_BLUE|FOREGROUND_RED;
|
|
||||||
currentbackground = 0;
|
|
||||||
colorchange = TRUE;
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
standoutend();
|
|
||||||
if (currentcolor == 0)
|
|
||||||
currentcolor = FOREGROUND_GREEN|FOREGROUND_BLUE|FOREGROUND_RED;
|
|
||||||
currentbackground = 0;
|
|
||||||
currenthilite = 0;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
void
|
||||||
term_start_attr(int attr)
|
term_start_attr(int attr)
|
||||||
{
|
{
|
||||||
switch(attr){
|
switch(attr){
|
||||||
|
case ATR_INVERSE:
|
||||||
|
if (iflags.wc_inverse) {
|
||||||
|
/* Suggestion by Lee Berger */
|
||||||
|
if ((currentcolor & (FOREGROUND_GREEN|FOREGROUND_BLUE|FOREGROUND_RED)) ==
|
||||||
|
(FOREGROUND_GREEN|FOREGROUND_BLUE|FOREGROUND_RED))
|
||||||
|
currentcolor = 0;
|
||||||
|
currentbackground = (BACKGROUND_RED|BACKGROUND_BLUE|BACKGROUND_GREEN);
|
||||||
|
colorchange = TRUE;
|
||||||
|
break;
|
||||||
|
} /* else */
|
||||||
|
/*FALLTHRU*/
|
||||||
case ATR_ULINE:
|
case ATR_ULINE:
|
||||||
case ATR_BOLD:
|
case ATR_BOLD:
|
||||||
case ATR_BLINK:
|
case ATR_BLINK:
|
||||||
standoutbeg();
|
standoutbeg();
|
||||||
break;
|
break;
|
||||||
|
default:
|
||||||
|
#ifdef DEBUG
|
||||||
|
impossible("term_start_attr: strange attribute %d", attr);
|
||||||
|
#endif
|
||||||
|
standoutend();
|
||||||
|
if (currentcolor == 0)
|
||||||
|
currentcolor = FOREGROUND_GREEN|FOREGROUND_BLUE|FOREGROUND_RED;
|
||||||
|
currentbackground = 0;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
term_end_attr(int attr)
|
||||||
|
{
|
||||||
|
switch(attr){
|
||||||
|
|
||||||
case ATR_INVERSE:
|
case ATR_INVERSE:
|
||||||
/* Suggestion by Lee Berger */
|
if (iflags.wc_inverse) {
|
||||||
if ((currentcolor & (FOREGROUND_GREEN|FOREGROUND_BLUE|FOREGROUND_RED)) ==
|
if (currentcolor == 0)
|
||||||
(FOREGROUND_GREEN|FOREGROUND_BLUE|FOREGROUND_RED))
|
currentcolor = FOREGROUND_GREEN|FOREGROUND_BLUE|FOREGROUND_RED;
|
||||||
currentcolor = 0;
|
currentbackground = 0;
|
||||||
currentbackground = (BACKGROUND_RED|BACKGROUND_BLUE|BACKGROUND_GREEN);
|
colorchange = TRUE;
|
||||||
colorchange = TRUE;
|
break;
|
||||||
break;
|
} /* else */
|
||||||
|
/*FALLTHRU*/
|
||||||
|
case ATR_ULINE:
|
||||||
|
case ATR_BOLD:
|
||||||
|
case ATR_BLINK:
|
||||||
default:
|
default:
|
||||||
standoutend();
|
standoutend();
|
||||||
|
if (currentcolor == 0)
|
||||||
|
currentcolor = FOREGROUND_GREEN|FOREGROUND_BLUE|FOREGROUND_RED;
|
||||||
|
currentbackground = 0;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user