expand wincap options to second field

<Someone> wishes to add a couple of new options to the wince port ("run fullscreen" and "do not use CE software keyboard").

The wincap field was full, so this adds a second field for
additional options.
This commit is contained in:
nethack.allison
2003-07-17 01:35:31 +00:00
parent 83c28e6ff8
commit 99bcdf6a4e
16 changed files with 154 additions and 28 deletions

View File

@@ -5,7 +5,7 @@
.ds vr "NetHack 3.4 .ds vr "NetHack 3.4
.ds f0 "\*(vr .ds f0 "\*(vr
.ds f1 .ds f1
.ds f2 "June 29, 2003 .ds f2 "July 16, 2003
.mt .mt
A Guide to the Mazes of Menace A Guide to the Mazes of Menace
(Guidebook for NetHack) (Guidebook for NetHack)
@@ -2139,6 +2139,8 @@ NetHack should use this size font for the message window.
NetHack should use this size font for the status window. NetHack should use this size font for the status window.
.lp font_size_text .lp font_size_text
NetHack should use this size font for text windows. NetHack should use this size font for text windows.
.lp fullscreen
NetHack should try and display on the entire screen rather than in a window.
.lp hilite_pet .lp hilite_pet
Visually distinguish pets from similar animals (default off). Visually distinguish pets from similar animals (default off).
The behavior of this option depends on the type of windowing you use. The behavior of this option depends on the type of windowing you use.
@@ -2166,6 +2168,8 @@ when the hero reaches the scroll_margin.
.lp scroll_margin .lp scroll_margin
NetHack should scroll the display when the hero or cursor NetHack should scroll the display when the hero or cursor
is this number of cells away from the edge of the window. is this number of cells away from the edge of the window.
.lp softkeyboard
Display an onscreen keyboard. Handhelds are most likely to support this option.
.lp splash_screen .lp splash_screen
NetHack should display an opening splash screen when it starts up (default yes). NetHack should display an opening splash screen when it starts up (default yes).
.lp tiled_map .lp tiled_map

View File

@@ -27,7 +27,7 @@
\begin{document} \begin{document}
% %
% input file: guidebook.mn % input file: guidebook.mn
% $Revision: 1.66 $ $Date: 2003/06/06 03:49:35 $ % $Revision: 1.67 $ $Date: 2003/06/30 02:08:55 $
% %
%.ds h0 " %.ds h0 "
%.ds h1 %.ds h2 \% %.ds h1 %.ds h2 \%
@@ -40,7 +40,7 @@
%.au %.au
\author{Eric S. Raymond\\ \author{Eric S. Raymond\\
(Extensively edited and expanded for 3.4)} (Extensively edited and expanded for 3.4)}
\date{June 29, 2003} \date{July 16, 2003}
\maketitle \maketitle
@@ -2631,6 +2631,9 @@ NetHack should use this size font for the status window.
\item[\ib{font\_size\_text}] \item[\ib{font\_size\_text}]
NetHack should use this size font for text windows. NetHack should use this size font for text windows.
%.lp %.lp
\item[\ib{fullscreen}]
NetHack should try and display on the entire screen rather than in a window.
%.lp
\item[\ib{hilite\_pet}] \item[\ib{hilite\_pet}]
Visually distinguish pets from similar animals (default off). Visually distinguish pets from similar animals (default off).
The behavior of this option depends on the type of windowing you use. The behavior of this option depends on the type of windowing you use.
@@ -2667,6 +2670,9 @@ when the hero reaches the scroll\_margin.
NetHack should scroll the display when the hero or cursor NetHack should scroll the display when the hero or cursor
is this number of cells away from the edge of the window. is this number of cells away from the edge of the window.
%.lp %.lp
\item[\ib{softkeyboard}]
Display an onscreen keyboard. Handhelds are most likely to support this option.
%.lp
\item[\ib{splash\_screen}] \item[\ib{splash\_screen}]
NetHack should display an opening splash screen when it starts up (default yes). NetHack should display an opening splash screen when it starts up (default yes).
%.lp %.lp

View File

@@ -404,17 +404,17 @@ and from the command line for some settings.
The wincap preference settings all have their underlying values stored The wincap preference settings all have their underlying values stored
in iflags fields. The names of the wincap related fields are all pre- in iflags fields. The names of the wincap related fields are all pre-
fixed with wc_ to make it easy to identify them. Your window port can fixed with wc_ or wc2_ to make it easy to identify them. Your window
access the fields directly. port can access the fields directly.
Your window port identifies what options it will react to and support Your window port identifies what options it will react to and support
by setting bits in the window_procs wincap mask. See section IX for by setting bits in the window_procs wincap mask and/or wincap2 mask.
details of where the wincap mask resides. See section IX for details of where the wincap masks reside.
Two things control whether any preference setting appears in the Two things control whether any preference setting appears in the
'O' command options menu during the game: 'O' command options menu during the game:
1. The option must be marked as being supported by having its 1. The option must be marked as being supported by having its
bit set in the window_procs wincap mask. bit set in the window_procs wincap or wincap2 mask.
2. The option must have its optflag field set to SET_IN_GAME in order 2. The option must have its optflag field set to SET_IN_GAME in order
to be able to set the option, or marked DISP_IN_GAME if you just to be able to set the option, or marked DISP_IN_GAME if you just
want to reveal what the option is set to. want to reveal what the option is set to.
@@ -423,26 +423,28 @@ within NetHack.
The default values for the optflag field for all the options are The default values for the optflag field for all the options are
hard-coded into the option in options.c. The default value for hard-coded into the option in options.c. The default value for
the options can be altered by calling the wc_ options can be altered by calling
set_wc_option_mod_status(optmask, status) set_wc_option_mod_status(optmask, status)
specifying the option modification status to one of SET_IN_FILE, The default value for the wc2_ options can be altered by calling
set_wc2_option_mod_status(optmask, status)
In each case, set the option modification status to one of SET_IN_FILE,
DISP_IN_GAME, or SET_IN_GAME. DISP_IN_GAME, or SET_IN_GAME.
The setting of any wincap option is handled by the NetHack core option The setting of any wincap or wincap2 option is handled by the NetHack
processing code. You do not have to provide a parser in your window core option processing code. You do not have to provide a parser in
port, nor should you set the values for the iflags.wc_* fields your window port, nor should you set the values for the
directly within the port code. The port code should honor whatever iflags.wc_* and iflags.wc2_* fields directly within the port code.
values were put there by the core when processing options, either The port code should honor whatever values were put there by the core
in the config file, or by the 'O' command. when processing options, either in the config file, or by the 'O' command.
You may be wondering what values your window port will find in the You may be wondering what values your window port will find in the
iflags.wc_* fields for options that the user has not specified iflags.wc_* and iflags.wc2_* fields for options that the user has not
in his/her config file. Put another way, how does you port code specified in his/her config file. Put another way, how does you port code
tell if an option has not been set? The next paragraph explains that. tell if an option has not been set? The next paragraph explains that.
If the core does not set an option, it will still be initialized If the core does not set an option, it will still be initialized
to its default value. Those default values for the to its default value. Those default values for the
iflags.wc_* fields are: iflags.wc_* and iflags.wc_* fields are:
o All boolean fields are initialized to the starting o All boolean fields are initialized to the starting
value specified for that option in the boolopt array in value specified for that option in the boolopt array in
@@ -460,9 +462,10 @@ iflags.wc_* fields are:
that in your window-port code before using such a pointer, or that in your window-port code before using such a pointer, or
you'll end up triggering a nasty fault. you'll end up triggering a nasty fault.
Here are the wincap preference settings that your port can choose Here are the wincap and wincap2 preference settings that your port can choose
to support: to support:
wincap
+--------------------+--------------------+--------------------+--------+ +--------------------+--------------------+--------------------+--------+
| | | iflags field | data | | | | iflags field | data |
| player option | bit in wincap mask | for value | type | | player option | bit in wincap mask | for value | type |
@@ -507,6 +510,15 @@ to support:
| mouse | WC_MOUSE_SUPPORT | wc_mouse_support |boolean | | mouse | WC_MOUSE_SUPPORT | wc_mouse_support |boolean |
+--------------------+--------------------+--------------------+--------+ +--------------------+--------------------+--------------------+--------+
wincap2
+--------------------+--------------------+--------------------+--------+
| | | iflags field | data |
| player option | bit in wincap mask | for value | type |
|--------------------+--------------------+--------------------+--------+
| fullscreen | WC2_FULLSCREEN | wc2_fullscreen |boolean |
| softkeyboard | WC2_SOFTKEYBOARD | wc2_softkeyboard |boolean |
+--------------------+--------------------+--------------------+--------+
align_message -- where to place message window (top, bottom, left, right) align_message -- where to place message window (top, bottom, left, right)
align_status -- where to place status window (top, bottom, left, right). align_status -- where to place status window (top, bottom, left, right).
ascii_map -- port should display an ascii map if it can. ascii_map -- port should display an ascii map if it can.
@@ -523,6 +535,7 @@ font_size_status-- port should use this size font for the status window.
font_size_text -- port should use this size font for text windows. font_size_text -- port should use this size font for text windows.
font_status -- port should use a font by this name for status window. font_status -- port should use a font by this name for status window.
font_text -- port should use a font by this name for text windows. font_text -- port should use a font by this name for text windows.
fullscreen -- port should try to use the whole screen.
hilite_pet -- port should mark pets in some special way on the map. hilite_pet -- port should mark pets in some special way on the map.
map_mode -- port should display the map in the manner specified. map_mode -- port should display the map in the manner specified.
player_selection player_selection
@@ -532,6 +545,7 @@ preload_tiles -- port should preload tiles into memory.
scroll_amount -- scroll this amount when scroll_margin is reached. scroll_amount -- scroll this amount when scroll_margin is reached.
scroll_margin -- port should scroll the display when the hero or cursor scroll_margin -- port should scroll the display when the hero or cursor
is this number of cells away from the edge of the window. is this number of cells away from the edge of the window.
softkeyboard -- handhelds should display an on-screen keyboard if possible.
splash_screen -- port should/should not display an opening splashscreen. splash_screen -- port should/should not display an opening splashscreen.
tiled_map -- port should display a tiled map if it can. tiled_map -- port should display a tiled map if it can.
tile_width -- port should display tiles with this width or round to closest tile_width -- port should display tiles with this width or round to closest
@@ -562,7 +576,15 @@ the user.
Functions available for the window port to call: Functions available for the window port to call:
set_wc_option_mod_status(optmask, status) set_wc_option_mod_status(optmask, status)
-- Adjust the optflag field for a set of options to -- Adjust the optflag field for a set of wincap options to
specify whether the port wants the option to appear
in the 'O' command options menu, The second parameter,
"status" can be set to SET_IN_FILE, DISP_IN_GAME,
or SET_IN_GAME (SET_IN_FILE implies that the option
is completely hidden during the game).
set_wc2_option_mod_status(optmask, status)
-- Adjust the optflag field for a set of wincap2 options to
specify whether the port wants the option to appear specify whether the port wants the option to appear
in the 'O' command options menu, The second parameter, in the 'O' command options menu, The second parameter,
"status" can be set to SET_IN_FILE, DISP_IN_GAME, "status" can be set to SET_IN_FILE, DISP_IN_GAME,
@@ -581,11 +603,13 @@ set_option_mod_status(optnam, status)
Adding a new wincap option: Adding a new wincap option:
To add a new wincap option, please follow all these steps: To add a new wincap option, please follow all these steps:
1. Add the option to the wincap preference settings table above. 1. Add the option to the wincap preference settings table above. Since
wincap is full, your option will likely target wincap2 field.
2. Add the description to the paragraph below the chart. 2. Add the description to the paragraph below the chart.
3. Add the WC_ to the bit list in include/winprocs.h (if there is room). 3. Add the WC_ or WC2_ to the bit list in include/winprocs.h
4. Add the wc_ field(s) to the iflags structure in flag.h. (in wincap2 if there is no room in wincap).
5. Add the name and value to wc_options[] in options.c 4. Add the wc_ or wc2_ field(s) to the iflags structure in flag.h.
5. Add the name and value to wc_options[] or wc2_options[] in options.c
6. Add an appropriate parser to parseoptions() in options.c. 6. Add an appropriate parser to parseoptions() in options.c.
7. Add code to display current value to get_compopt_value() in options.c. 7. Add code to display current value to get_compopt_value() in options.c.
8. Document the option in Guidebook.mn and Guidebook.tex. 8. Document the option in Guidebook.mn and Guidebook.tex.

View File

@@ -1394,6 +1394,7 @@ E void FDECL(assign_warnings, (uchar *));
E char *FDECL(nh_getenv, (const char *)); E char *FDECL(nh_getenv, (const char *));
E void FDECL(set_duplicate_opt_detection, (int)); E void FDECL(set_duplicate_opt_detection, (int));
E void FDECL(set_wc_option_mod_status, (unsigned long, int)); E void FDECL(set_wc_option_mod_status, (unsigned long, int));
E void FDECL(set_wc2_option_mod_status, (unsigned long, int));
E void FDECL(set_option_mod_status, (const char *,int)); E void FDECL(set_option_mod_status, (const char *,int));
/* ### pager.c ### */ /* ### pager.c ### */

View File

@@ -261,6 +261,8 @@ struct instance_flags {
in the message window */ in the message window */
boolean wc_eight_bit_input; /* allow eight bit input */ boolean wc_eight_bit_input; /* allow eight bit input */
boolean wc_mouse_support; /* allow mouse support */ boolean wc_mouse_support; /* allow mouse support */
boolean wc2_fullscreen; /* run fullscreen */
boolean wc2_softkeyboard; /* use software keyboard */
boolean cmdassist; /* provide detailed assistance for some commands */ boolean cmdassist; /* provide detailed assistance for some commands */
boolean clicklook; /* allow right-clicking for look */ boolean clicklook; /* allow right-clicking for look */

View File

@@ -8,6 +8,7 @@
struct window_procs { struct window_procs {
const char *name; const char *name;
unsigned long wincap; /* window port capability options supported */ unsigned long wincap; /* window port capability options supported */
unsigned long wincap2; /* additional window port capability options supported */
void FDECL((*win_init_nhwindows), (int *, char **)); void FDECL((*win_init_nhwindows), (int *, char **));
void NDECL((*win_player_selection)); void NDECL((*win_player_selection));
void NDECL((*win_askname)); void NDECL((*win_askname));
@@ -173,6 +174,10 @@ extern NEARDATA struct window_procs windowprocs;
#define WC_MOUSE_SUPPORT 0x80000000L /* 32 mouse support */ #define WC_MOUSE_SUPPORT 0x80000000L /* 32 mouse support */
/* no free bits */ /* no free bits */
#define WC2_FULLSCREEN 0x01L /* 01 mouse support */
#define WC2_SOFTKEYBOARD 0x02L /* 02 software keyboard */
/* 30 free bits */
#define ALIGN_LEFT 1 #define ALIGN_LEFT 1
#define ALIGN_RIGHT 2 #define ALIGN_RIGHT 2
#define ALIGN_TOP 3 #define ALIGN_TOP 3

View File

@@ -99,6 +99,7 @@ static struct Bool_Opt
#else #else
{"flush", (boolean *)0, FALSE, SET_IN_FILE}, {"flush", (boolean *)0, FALSE, SET_IN_FILE},
#endif #endif
{"fullscreen", &iflags.wc2_fullscreen, FALSE, SET_IN_FILE},
{"help", &flags.help, TRUE, SET_IN_GAME}, {"help", &flags.help, TRUE, SET_IN_GAME},
{"hilite_pet", &iflags.wc_hilite_pet, FALSE, SET_IN_GAME}, /*WC*/ {"hilite_pet", &iflags.wc_hilite_pet, FALSE, SET_IN_GAME}, /*WC*/
#ifdef ASCIIGRAPH #ifdef ASCIIGRAPH
@@ -172,6 +173,7 @@ static struct Bool_Opt
{"showscore", (boolean *)0, FALSE, SET_IN_FILE}, {"showscore", (boolean *)0, FALSE, SET_IN_FILE},
#endif #endif
{"silent", &flags.silent, TRUE, SET_IN_GAME}, {"silent", &flags.silent, TRUE, SET_IN_GAME},
{"softkeyboard", &iflags.wc2_softkeyboard, FALSE, SET_IN_FILE},
{"sortpack", &flags.sortpack, TRUE, SET_IN_GAME}, {"sortpack", &flags.sortpack, TRUE, SET_IN_GAME},
{"sound", &flags.soundok, TRUE, SET_IN_GAME}, {"sound", &flags.soundok, TRUE, SET_IN_GAME},
{"sparkle", &flags.sparkle, TRUE, SET_IN_GAME}, {"sparkle", &flags.sparkle, TRUE, SET_IN_GAME},
@@ -433,6 +435,8 @@ STATIC_OVL void FDECL(wc_set_font_name, (int, char *));
STATIC_OVL int FDECL(wc_set_window_colors, (char *)); STATIC_OVL int FDECL(wc_set_window_colors, (char *));
STATIC_OVL boolean FDECL(is_wc_option, (const char *)); STATIC_OVL boolean FDECL(is_wc_option, (const char *));
STATIC_OVL boolean FDECL(wc_supported, (const char *)); STATIC_OVL boolean FDECL(wc_supported, (const char *));
STATIC_OVL boolean FDECL(is_wc2_option, (const char *));
STATIC_OVL boolean FDECL(wc2_supported, (const char *));
/* check whether a user-supplied option string is a proper leading /* check whether a user-supplied option string is a proper leading
substring of a particular option name; option string might have substring of a particular option name; option string might have
@@ -2355,6 +2359,8 @@ doset()
#endif #endif
if (is_wc_option(boolopt[i].name) && if (is_wc_option(boolopt[i].name) &&
!wc_supported(boolopt[i].name)) continue; !wc_supported(boolopt[i].name)) continue;
if (is_wc2_option(boolopt[i].name) &&
!wc2_supported(boolopt[i].name)) continue;
any.a_int = (pass == 0) ? 0 : i + 1; any.a_int = (pass == 0) ? 0 : i + 1;
if (!iflags.menu_tab_sep) if (!iflags.menu_tab_sep)
Sprintf(buf, "%s%-13s [%s]", Sprintf(buf, "%s%-13s [%s]",
@@ -2406,6 +2412,9 @@ doset()
else if (is_wc_option(compopt[i].name) && else if (is_wc_option(compopt[i].name) &&
!wc_supported(compopt[i].name)) !wc_supported(compopt[i].name))
continue; continue;
else if (is_wc2_option(compopt[i].name) &&
!wc2_supported(compopt[i].name))
continue;
else else
doset_add_menu(tmpwin, compopt[i].name, doset_add_menu(tmpwin, compopt[i].name,
(pass == DISP_IN_GAME) ? 0 : indexoffset); (pass == DISP_IN_GAME) ? 0 : indexoffset);
@@ -2433,7 +2442,8 @@ doset()
Sprintf(buf, "%s%s", *boolopt[opt_indx].addr ? "!" : "", Sprintf(buf, "%s%s", *boolopt[opt_indx].addr ? "!" : "",
boolopt[opt_indx].name); boolopt[opt_indx].name);
parseoptions(buf, setinitial, fromfile); parseoptions(buf, setinitial, fromfile);
if (wc_supported(boolopt[opt_indx].name)) if (wc_supported(boolopt[opt_indx].name) ||
wc2_supported(boolopt[opt_indx].name))
preference_update(boolopt[opt_indx].name); preference_update(boolopt[opt_indx].name);
} else { } else {
/* compound option */ /* compound option */
@@ -2449,7 +2459,8 @@ doset()
/* pass the buck */ /* pass the buck */
parseoptions(buf, setinitial, fromfile); parseoptions(buf, setinitial, fromfile);
} }
if (wc_supported(compopt[opt_indx].name)) if (wc_supported(compopt[opt_indx].name) ||
wc2_supported(compopt[opt_indx].name))
preference_update(compopt[opt_indx].name); preference_update(compopt[opt_indx].name);
} }
} }
@@ -3300,6 +3311,12 @@ struct wc_Opt wc_options[] = {
{(char *)0, 0L} {(char *)0, 0L}
}; };
struct wc_Opt wc2_options[] = {
{"fullscreen", WC2_FULLSCREEN},
{"softkeyboard", WC2_SOFTKEYBOARD},
{(char *)0, 0L}
};
/* /*
* If a port wants to change or ensure that the * If a port wants to change or ensure that the
@@ -3348,7 +3365,7 @@ int status;
{ {
int k = 0; int k = 0;
if (status < SET_IN_FILE || status > SET_IN_GAME) { if (status < SET_IN_FILE || status > SET_IN_GAME) {
impossible("set_option_mod_status: status out of range %d.", impossible("set_wc_option_mod_status: status out of range %d.",
status); status);
return; return;
} }
@@ -3387,6 +3404,63 @@ const char *optnam;
return FALSE; return FALSE;
} }
/*
* You can set several wc2_options in one call to
* set_wc2_option_mod_status() by setting
* the appropriate bits for each option that you
* are setting in the optmask argument
* prior to calling.
* example: set_wc2_option_mod_status(WC2_FULLSCREEN|WC2_SOFTKEYBOARD, SET_IN_FILE);
*/
void
set_wc2_option_mod_status(optmask, status)
unsigned long optmask;
int status;
{
int k = 0;
if (status < SET_IN_FILE || status > SET_IN_GAME) {
impossible("set_wc2_option_mod_status: status out of range %d.",
status);
return;
}
while (wc2_options[k].wc_name) {
if (optmask & wc2_options[k].wc_bit) {
set_option_mod_status(wc2_options[k].wc_name, status);
}
k++;
}
}
STATIC_OVL boolean
is_wc2_option(optnam)
const char *optnam;
{
int k = 0;
while (wc2_options[k].wc_name) {
if (strcmp(wc2_options[k].wc_name, optnam) == 0)
return TRUE;
k++;
}
return FALSE;
}
STATIC_OVL boolean
wc2_supported(optnam)
const char *optnam;
{
int k = 0;
while (wc2_options[k].wc_name) {
if (!strcmp(wc2_options[k].wc_name, optnam) &&
(windowprocs.wincap2 & wc2_options[k].wc_bit))
return TRUE;
k++;
}
return FALSE;
}
STATIC_OVL void STATIC_OVL void
wc_set_font_name(wtype, fontname) wc_set_font_name(wtype, fontname)
int wtype; int wtype;

View File

@@ -30,6 +30,7 @@ struct window_procs amii_procs =
{ {
"amii", "amii",
WC_COLOR|WC_HILITE_PET|WC_INVERSE, WC_COLOR|WC_HILITE_PET|WC_INVERSE,
0L,
amii_init_nhwindows, amii_init_nhwindows,
amii_player_selection, amii_player_selection,
amii_askname, amii_askname,
@@ -88,6 +89,7 @@ struct window_procs amiv_procs =
{ {
"amitile", "amitile",
WC_COLOR|WC_HILITE_PET|WC_INVERSE, WC_COLOR|WC_HILITE_PET|WC_INVERSE,
0L,
amii_init_nhwindows, amii_init_nhwindows,
amii_player_selection, amii_player_selection,
amii_askname, amii_askname,

View File

@@ -2495,6 +2495,7 @@ struct window_procs mac_procs = {
WC_LARGE_FONT | /* obsolete */ WC_LARGE_FONT | /* obsolete */
WC_FONT_MAP | WC_FONT_MENU | WC_FONT_MESSAGE | WC_FONT_STATUS | WC_FONT_TEXT | WC_FONT_MAP | WC_FONT_MENU | WC_FONT_MESSAGE | WC_FONT_STATUS | WC_FONT_TEXT |
WC_FONTSIZ_MAP | WC_FONTSIZ_MENU | WC_FONTSIZ_MESSAGE | WC_FONTSIZ_STATUS | WC_FONTSIZ_TEXT, WC_FONTSIZ_MAP | WC_FONTSIZ_MENU | WC_FONTSIZ_MESSAGE | WC_FONTSIZ_STATUS | WC_FONTSIZ_TEXT,
0L,
mac_init_nhwindows, mac_init_nhwindows,
mac_unimplemented, /* see macmenu.c:mac_askname() for player selection */ mac_unimplemented, /* see macmenu.c:mac_askname() for player selection */
mac_askname, mac_askname,

View File

@@ -45,6 +45,7 @@ struct window_procs mswin_procs = {
WC_FONTSIZ_MESSAGE|WC_FONTSIZ_STATUS|WC_FONTSIZ_MENU|WC_FONTSIZ_TEXT| WC_FONTSIZ_MESSAGE|WC_FONTSIZ_STATUS|WC_FONTSIZ_MENU|WC_FONTSIZ_TEXT|
WC_TILE_WIDTH|WC_TILE_HEIGHT|WC_TILE_FILE|WC_VARY_MSGCOUNT| WC_TILE_WIDTH|WC_TILE_HEIGHT|WC_TILE_FILE|WC_VARY_MSGCOUNT|
WC_WINDOWCOLORS|WC_PLAYER_SELECTION, WC_WINDOWCOLORS|WC_PLAYER_SELECTION,
0L,
mswin_init_nhwindows, mswin_init_nhwindows,
mswin_player_selection, mswin_player_selection,
mswin_askname, mswin_askname,

View File

@@ -5192,6 +5192,7 @@ struct window_procs Qt_procs = {
WC_ASCII_MAP|WC_TILED_MAP| WC_ASCII_MAP|WC_TILED_MAP|
WC_FONT_MAP|WC_TILE_FILE|WC_TILE_WIDTH|WC_TILE_HEIGHT| WC_FONT_MAP|WC_TILE_FILE|WC_TILE_WIDTH|WC_TILE_HEIGHT|
WC_PLAYER_SELECTION|WC_SPLASH_SCREEN, WC_PLAYER_SELECTION|WC_SPLASH_SCREEN,
0L,
NetHackQtBind::qt_init_nhwindows, NetHackQtBind::qt_init_nhwindows,
NetHackQtBind::qt_player_selection, NetHackQtBind::qt_player_selection,
NetHackQtBind::qt_askname, NetHackQtBind::qt_askname,

View File

@@ -93,6 +93,7 @@ int updated_inventory;
struct window_procs X11_procs = { struct window_procs X11_procs = {
"X11", "X11",
WC_COLOR|WC_HILITE_PET, WC_COLOR|WC_HILITE_PET,
0L,
X11_init_nhwindows, X11_init_nhwindows,
X11_player_selection, X11_player_selection,
X11_askname, X11_askname,

View File

@@ -43,6 +43,7 @@ struct window_procs Gem_procs = {
WC_FONT_MESSAGE|WC_FONT_STATUS|WC_FONT_MENU|WC_FONT_TEXT|WC_FONT_MAP| WC_FONT_MESSAGE|WC_FONT_STATUS|WC_FONT_MENU|WC_FONT_TEXT|WC_FONT_MAP|
WC_FONTSIZ_MESSAGE|WC_FONTSIZ_STATUS|WC_FONTSIZ_MENU|WC_FONTSIZ_TEXT|WC_FONTSIZ_MAP| WC_FONTSIZ_MESSAGE|WC_FONTSIZ_STATUS|WC_FONTSIZ_MENU|WC_FONTSIZ_TEXT|WC_FONTSIZ_MAP|
WC_TILE_WIDTH|WC_TILE_HEIGHT|WC_TILE_FILE|WC_VARY_MSGCOUNT|WC_ASCII_MAP, WC_TILE_WIDTH|WC_TILE_HEIGHT|WC_TILE_FILE|WC_VARY_MSGCOUNT|WC_ASCII_MAP,
0L,
Gem_init_nhwindows, Gem_init_nhwindows,
Gem_player_selection, Gem_player_selection,
Gem_askname, Gem_askname,

View File

@@ -23,6 +23,7 @@ extern void tty_raw_print_bold(const char *);
struct window_procs Gnome_procs = { struct window_procs Gnome_procs = {
"Gnome", "Gnome",
WC_COLOR|WC_HILITE_PET|WC_INVERSE, WC_COLOR|WC_HILITE_PET|WC_INVERSE,
0L,
gnome_init_nhwindows, gnome_init_nhwindows,
gnome_player_selection, gnome_player_selection,
gnome_askname, gnome_askname,

View File

@@ -50,6 +50,7 @@ struct window_procs tty_procs = {
WC_MOUSE_SUPPORT| WC_MOUSE_SUPPORT|
#endif #endif
WC_COLOR|WC_HILITE_PET|WC_INVERSE|WC_EIGHT_BIT_IN, WC_COLOR|WC_HILITE_PET|WC_INVERSE|WC_EIGHT_BIT_IN,
0L,
tty_init_nhwindows, tty_init_nhwindows,
tty_player_selection, tty_player_selection,
tty_askname, tty_askname,

View File

@@ -71,6 +71,7 @@ struct window_procs mswin_procs = {
WC_FONTSIZ_MESSAGE|WC_FONTSIZ_STATUS|WC_FONTSIZ_MENU|WC_FONTSIZ_TEXT| WC_FONTSIZ_MESSAGE|WC_FONTSIZ_STATUS|WC_FONTSIZ_MENU|WC_FONTSIZ_TEXT|
WC_TILE_WIDTH|WC_TILE_HEIGHT|WC_TILE_FILE|WC_VARY_MSGCOUNT| WC_TILE_WIDTH|WC_TILE_HEIGHT|WC_TILE_FILE|WC_VARY_MSGCOUNT|
WC_WINDOWCOLORS|WC_PLAYER_SELECTION|WC_SPLASH_SCREEN|WC_POPUP_DIALOG, WC_WINDOWCOLORS|WC_PLAYER_SELECTION|WC_SPLASH_SCREEN|WC_POPUP_DIALOG,
0L,
mswin_init_nhwindows, mswin_init_nhwindows,
mswin_player_selection, mswin_player_selection,
mswin_askname, mswin_askname,