Instead of just accepting an attribute, it's now possible to use a color, or both color and attribute, for example: OPTIONS=menu_headings:inverse OPTIONS=menu_headings:red OPTIONS=menu_headings:red&underline Default is still just inverse. This lets the player change the menu heading color without needing to use menu colors for them. Also makes it so the core uses NO_COLOR instead of 0, for all the menu lines which don't have any prefedefined color. Tested for tty, curses, x11, qt, and win32
89 lines
2.2 KiB
C
89 lines
2.2 KiB
C
/* NetHack 3.7 mhmsg.h $NHDT-Date: 1596498356 2020/08/03 23:45:56 $ $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.21 $ */
|
|
/* Copyright (C) 2001 by Alex Kompel */
|
|
/* NetHack may be freely redistributed. See license for details. */
|
|
|
|
#ifndef MHNethackMessages_H
|
|
#define MHNethackMessages_H
|
|
|
|
/* nethack messages */
|
|
#define WM_MSNH_COMMAND (WM_APP + 1)
|
|
|
|
#define MSNH_MSG_ADDWND 100
|
|
#define MSNH_MSG_PUTSTR 101
|
|
#define MSNH_MSG_PRINT_GLYPH 102
|
|
#define MSNH_MSG_CLEAR_WINDOW 103
|
|
#define MSNH_MSG_CLIPAROUND 104
|
|
#define MSNH_MSG_STARTMENU 105
|
|
#define MSNH_MSG_ADDMENU 106
|
|
#define MSNH_MSG_CURSOR 107
|
|
#define MSNH_MSG_ENDMENU 108
|
|
#define MSNH_MSG_DIED 109
|
|
#define MSNH_MSG_CARET 110
|
|
#define MSNH_MSG_GETTEXT 111
|
|
#define MSNH_MSG_UPDATE_STATUS 112
|
|
#define MSNH_MSG_RANDOM_INPUT 113
|
|
#ifdef ENHANCED_SYMBOLS
|
|
#define MSNH_MSG_GETWIDETEXT 114
|
|
#endif
|
|
|
|
typedef struct mswin_nhmsg_add_wnd {
|
|
winid wid;
|
|
} MSNHMsgAddWnd, *PMSNHMsgAddWnd;
|
|
|
|
typedef struct mswin_nhmsg_putstr {
|
|
int attr;
|
|
const char *text;
|
|
int append;
|
|
} MSNHMsgPutstr, *PMSNHMsgPutstr;
|
|
|
|
typedef struct mswin_nhmsg_print_glyph {
|
|
coordxy x;
|
|
coordxy y;
|
|
glyph_info glyphinfo;
|
|
glyph_info bkglyphinfo;
|
|
} MSNHMsgPrintGlyph, *PMSNHMsgPrintGlyph;
|
|
|
|
typedef struct mswin_nhmsg_cliparound {
|
|
int x;
|
|
int y;
|
|
} MSNHMsgClipAround, *PMSNHMsgClipAround;
|
|
|
|
typedef struct mswin_nhmsg_add_menu {
|
|
glyph_info glyphinfo;
|
|
const ANY_P *identifier;
|
|
char accelerator;
|
|
char group_accel;
|
|
int attr;
|
|
int color;
|
|
const char *str;
|
|
boolean presel;
|
|
unsigned int itemflags;
|
|
} MSNHMsgAddMenu, *PMSNHMsgAddMenu;
|
|
|
|
typedef struct mswin_nhmsg_cursor {
|
|
int x;
|
|
int y;
|
|
} MSNHMsgCursor, *PMSNHMsgCursor;
|
|
|
|
typedef struct mswin_nhmsg_end_menu {
|
|
const char *text;
|
|
} MSNHMsgEndMenu, *PMSNHMsgEndMenu;
|
|
|
|
typedef struct mswin_nhmsg_get_text {
|
|
size_t max_size;
|
|
char buffer[TEXT_BUFFER_SIZE];
|
|
} MSNHMsgGetText, *PMSNHMsgGetText;
|
|
|
|
#ifdef ENHANCED_SYMBOLS
|
|
typedef struct mswin_nhmsg_get_wide_text {
|
|
size_t max_size;
|
|
WCHAR buffer[TEXT_BUFFER_SIZE];
|
|
} MSNHMsgGetWideText, *PMSNHMsgGetWideText;
|
|
#endif
|
|
|
|
typedef struct mswin_nhmsg_update_status {
|
|
struct mswin_status_lines * status_lines;
|
|
} MSNHMsgUpdateStatus, *PMSNHMsgUpdateStatus;
|
|
|
|
#endif
|