Windows CE changes (from <Someone>)

The changes did not apply to the main trunk as easily as I wouuld have
hoped, so I attempted a number of manual applications. I hope <Someone>
can tell me if there is a problem.

Changelist:
- bugfix: help text windows close immediately after open (unhandled WM_KEYDOWN in mhtext.c)
- bugfix: action button uses hero coordinates instead of cursor position
- pocketpc: bugfix: menu window closes on up/down keys from first/last position
- smartphone: do not translate input when command helper is hidden (fixes Motorola Q keyboard bug)
- smartphone: new keypad layouts
- smartphone: wizard mode command layout
- smartphone: option to feed arbitrary text as a command to nethack core
- wrap/unwrap text option for text windows
- hardware keyboard detection
- hide keypad when hardware keyboard is present
- backport message window highlighting from winnt port
- new icon with recommended image sizes
This commit is contained in:
nethack.allison
2009-10-10 14:39:53 +00:00
parent 1ad1e07d7a
commit 142f13de3f
18 changed files with 844 additions and 81 deletions

View File

@@ -15,7 +15,6 @@ copy ..\..\win\win32\mnsel.uu ..\..\wince\mnsel.uu
copy ..\..\win\win32\mnselcnt.uu ..\..\wince\mnselcnt.uu
copy ..\..\win\win32\mnunsel.uu ..\..\wince\mnunsel.uu
copy ..\..\win\win32\petmark.uu ..\..\wince\petmark.uu
copy ..\..\sys\winnt\nhico.uu ..\..\wince\nhico.uu
copy ..\..\sys\wince\menubar.uu ..\..\wince\menubar.uu
copy ..\..\sys\wince\keypad.uu ..\..\wince\keypad.uu
REM

View File

@@ -155,6 +155,8 @@ static PNHCmdSet nhcmdset_default = 0;
#define NH_LAYOUT_ITEM_HANDLING 3
#define NH_LAYOUT_CONTROLS 4
#define NH_LAYOUT_ADV_MOVEMENT 5
#define NH_LAYOUT_ITEM_LOOKUP 6
#define NH_LAYOUT_WIZARD 7
/* template menu layout */
NHCmdPadCell cells_layout_menu[NH_CMDPAD_CELLNUM] =
@@ -218,7 +220,7 @@ NHCmdPadCell cells_layout_item_handling[NH_CMDPAD_CELLNUM] =
{ -1, "D", "D", -NH_CMDPAD_FONT_NORMAL, NH_CELL_REG, 1, (void*)-1 },
{ -1, "Q", "Q", -NH_CMDPAD_FONT_NORMAL, NH_CELL_REG, 1, (void*)-1 },
{ -1, "i", "i", -NH_CMDPAD_FONT_NORMAL, NH_CELL_REG, 1, (void*)-1 },
{ -1, "[", "[", -NH_CMDPAD_FONT_NORMAL, NH_CELL_REG, 1, (void*)-1 },
{ -1, "Q", "Q", -NH_CMDPAD_FONT_NORMAL, NH_CELL_REG, 1, (void*)-1 },
{ -1, "A", "A", -NH_CMDPAD_FONT_NORMAL, NH_CELL_REG, 1, (void*)-1 },
{ -1, "I", "I", -NH_CMDPAD_FONT_NORMAL, NH_CELL_REG, 1, (void*)-1 },
{ -1, "X", "X", 13, NH_CELL_LAYOUT_MENU, 1 , 0 }
@@ -232,7 +234,7 @@ NHCmdPadCell cells_layout_general[NH_CMDPAD_CELLNUM] =
{ -1, "l", "l", -NH_CMDPAD_FONT_NORMAL, NH_CELL_REG, 1, (void*)-1 },
{ -1, "s", "s", -NH_CMDPAD_FONT_NORMAL, NH_CELL_REG, 1, (void*)-1 },
{ -1, "E", "E", -NH_CMDPAD_FONT_NORMAL, NH_CELL_REG, 1, (void*)-1 },
{ -1, "\x04", "^D", -NH_CMDPAD_FONT_NORMAL, NH_CELL_REG, 1, (void*)-1 },
{ -1, "\x01", "^A", -NH_CMDPAD_FONT_NORMAL, NH_CELL_REG, 1, (void*)-1 },
{ -1, "c", "c", -NH_CMDPAD_FONT_NORMAL, NH_CELL_REG, 1, (void*)-1 },
{ -1, "o", "o", -NH_CMDPAD_FONT_NORMAL, NH_CELL_REG, 1, (void*)-1 },
{ -1, "p", "p", -NH_CMDPAD_FONT_NORMAL, NH_CELL_REG, 1, (void*)-1 },
@@ -268,12 +270,48 @@ NHCmdPadCell cells_layout_adv_movement[NH_CMDPAD_CELLNUM] =
{ -1, "_", "_", -NH_CMDPAD_FONT_NORMAL, NH_CELL_REG, 1, (void*)-1 },
{ -1, "\x14", "^T", -NH_CMDPAD_FONT_NORMAL, NH_CELL_REG, 1, (void*)-1 },
{ -1, "j", "j", -NH_CMDPAD_FONT_NORMAL, NH_CELL_REG, 1, (void*)-1 },
{ -1, "<", "<", -NH_CMDPAD_FONT_NORMAL, NH_CELL_REG, 1, (void*)-1 },
{ -1, ">", ">", -NH_CMDPAD_FONT_NORMAL, NH_CELL_REG, 1, (void*)-1 },
{ -1, "^", "^", -NH_CMDPAD_FONT_NORMAL, NH_CELL_REG, 1, (void*)-1 },
{ -1, "", "", -NH_CMDPAD_FONT_NORMAL, NH_CELL_REG, 1, (void*)-1 },
{ -1, "X", "X", 13, NH_CELL_LAYOUT_MENU, 1 , 0 }
};
/* item lookup layout */
NHCmdPadCell cells_layout_lookup[NH_CMDPAD_CELLNUM] =
{
{ -1, ";", ";", -NH_CMDPAD_FONT_NORMAL, NH_CELL_REG, 1, (void*)-1 },
{ -1, "^", "^", -NH_CMDPAD_FONT_NORMAL, NH_CELL_REG, 1, (void*)-1 },
{ -1, "]", "]", -NH_CMDPAD_FONT_NORMAL, NH_CELL_REG, 1, (void*)-1 },
{ -1, ")", ")", -NH_CMDPAD_FONT_NORMAL, NH_CELL_REG, 1, (void*)-1 },
{ -1, "=", "=", -NH_CMDPAD_FONT_NORMAL, NH_CELL_REG, 1, (void*)-1 },
{ -1, "*", "*", -NH_CMDPAD_FONT_NORMAL, NH_CELL_REG, 1, (void*)-1 },
{ -1, "(", "(", -NH_CMDPAD_FONT_NORMAL, NH_CELL_REG, 1, (void*)-1 },
{ -1, "\"", "\"", -NH_CMDPAD_FONT_NORMAL, NH_CELL_REG, 1, (void*)-1 },
{ -1, "$", "$", -NH_CMDPAD_FONT_NORMAL, NH_CELL_REG, 1, (void*)-1 },
{ -1, "+", "+", -NH_CMDPAD_FONT_NORMAL, NH_CELL_REG, 1, (void*)-1 },
{ -1, "", "", -NH_CMDPAD_FONT_NORMAL, NH_CELL_REG, 1, (void*)-1 },
{ -1, "X", "X", 13, NH_CELL_LAYOUT_MENU, 1 , 0 }
};
#ifdef WIZARD
/* wizard mode layout */
NHCmdPadCell cells_layout_wizard[NH_CMDPAD_CELLNUM] =
{
{ -1, "\x05", "^e", -NH_CMDPAD_FONT_NORMAL, NH_CELL_REG, 1, (void*)-1 },
{ -1, "\x06", "^f", -NH_CMDPAD_FONT_NORMAL, NH_CELL_REG, 1, (void*)-1 },
{ -1, "\x07", "^g", -NH_CMDPAD_FONT_NORMAL, NH_CELL_REG, 1, (void*)-1 },
{ -1, "\x09", "^i", -NH_CMDPAD_FONT_NORMAL, NH_CELL_REG, 1, (void*)-1 },
{ -1, "\x0f", "^o", -NH_CMDPAD_FONT_NORMAL, NH_CELL_REG, 1, (void*)-1 },
{ -1, "\x16", "^v", -NH_CMDPAD_FONT_NORMAL, NH_CELL_REG, 1, (void*)-1 },
{ -1, "\x17", "^w", -NH_CMDPAD_FONT_NORMAL, NH_CELL_REG, 1, (void*)-1 },
{ -1, "\x14", "^T", -NH_CMDPAD_FONT_NORMAL, NH_CELL_REG, 1, (void*)-1 },
{ -1, "#", "#", -NH_CMDPAD_FONT_NORMAL, NH_CELL_REG, 1, (void*)-1 },
{ -1, "", "", -NH_CMDPAD_FONT_NORMAL, NH_CELL_REG, 1, (void*)-1 },
{ -1, "", "", -NH_CMDPAD_FONT_NORMAL, NH_CELL_REG, 1, (void*)-1 },
{ -1, "X", "X", 13, NH_CELL_LAYOUT_MENU, 1 , 0 }
};
#endif
#else /* !WIN_CE_SMARTPHONE */
@@ -512,6 +550,19 @@ void register_command_window_class()
plt = nhcmdlayout_create("Advanced Movement", NH_CMDPAD_ROWS, NH_CMDPAD_COLS);
nhcmdlayout_init(plt, cells_layout_adv_movement);
nhcmdset_add(nhcmdset_current, plt);
plt = nhcmdlayout_create("Item Lookup", NH_CMDPAD_ROWS, NH_CMDPAD_COLS);
nhcmdlayout_init(plt, cells_layout_lookup);
nhcmdset_add(nhcmdset_current, plt);
#ifdef WIZARD
if( wizard ) {
plt = nhcmdlayout_create("Wizard Mode", NH_CMDPAD_ROWS, NH_CMDPAD_COLS);
nhcmdlayout_init(plt, cells_layout_wizard);
nhcmdset_add(nhcmdset_current, plt);
}
#endif
#else /* ! WIN_CE_SMARTPHONE */
plt = nhcmdlayout_create("lowercase", NH_CMDPAD_ROWS, NH_CMDPAD_COLS);
nhcmdlayout_init(plt, cells_layout_mod1);

View File

@@ -130,7 +130,7 @@ LRESULT CALLBACK GetlinDlgProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lP
TRUE );
#if defined(WIN_CE_SMARTPHONE)
NHSPhoneDialogSetup(hWnd, TRUE, FALSE);
NHSPhoneDialogSetup(hWnd, IDC_SPHONE_DIALOGBAR, TRUE, FALSE);
#endif
/* set focus to the edit control */
@@ -242,7 +242,7 @@ LRESULT CALLBACK ExtCmdDlgProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lP
}
#if defined(WIN_CE_SMARTPHONE)
NHSPhoneDialogSetup(hWnd, FALSE, FALSE);
NHSPhoneDialogSetup(hWnd, IDC_SPHONE_DIALOGBAR, FALSE, FALSE);
GetClientRect(hWnd, &dlg_rt);
MoveWindow(GetDlgItem(hWnd, IDC_EXTCMD_LIST),
@@ -364,7 +364,7 @@ BOOL CALLBACK PlayerSelectorDlgProc(HWND hWnd, UINT message, WPARAM wParam, LPAR
plselInitDialog(hWnd);
#if defined(WIN_CE_SMARTPHONE)
NHSPhoneDialogSetup(hWnd, FALSE, FALSE);
NHSPhoneDialogSetup(hWnd, IDC_SPHONE_DIALOGBAR, FALSE, FALSE);
#endif
/* set focus on the role checkbox (random) field */
SetFocus(GetDlgItem(hWnd, IDC_PLSEL_ROLE_RANDOM));

View File

@@ -200,8 +200,6 @@ LRESULT CALLBACK MainWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lPar
(GetNHApp()->bCmdPad? MF_CHECKED : MF_UNCHECKED)
);
/* create command pad (keyboard emulator) */
GetNHApp()->hCmdWnd = mswin_init_command_window();
} break;
/*-----------------------------------------------------------------------*/
@@ -397,13 +395,21 @@ LRESULT CALLBACK MainWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lPar
}
return 0;
case VK_RETURN:
NHEVENT_MS( CLICK_1, u.ux, u.uy);
case VK_RETURN: {
int x, y;
if( WIN_MAP!=WIN_ERR ) {
mswin_map_get_cursor(mswin_hwnd_from_winid(WIN_MAP), &x, &y);
} else {
x = u.ux;
y = u.uy;
}
NHEVENT_MS(CLICK_1, x, y);
}
return 0;
}
#if defined(WIN_CE_SMARTPHONE)
if( NHSPhoneTranslateKbdMessage(wParam, lParam, TRUE) ) return 0;
if( GetNHApp()->bCmdPad && NHSPhoneTranslateKbdMessage(wParam, lParam, TRUE) ) return 0;
#endif
return 1; /* end of WM_KEYDOWN */
@@ -411,13 +417,20 @@ LRESULT CALLBACK MainWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lPar
#if defined(WIN_CE_SMARTPHONE)
case WM_KEYUP:
if( NHSPhoneTranslateKbdMessage(wParam, lParam, FALSE) ) return 0;
if( GetNHApp()->bCmdPad && NHSPhoneTranslateKbdMessage(wParam, lParam, FALSE) ) return 0;
return 1; /* end of WM_KEYUP */
#endif
/*-----------------------------------------------------------------------*/
#if !defined(WIN_CE_SMARTPHONE)
case WM_CHAR:
#if defined(WIN_CE_SMARTPHONE)
/* if smartphone cmdpad is up then translation happens - disable WM_CHAR processing
to avoid double input */
if( GetNHApp()->bCmdPad ) {
return 1;
}
#endif
if( wParam=='\n' || wParam=='\r' || wParam==C('M') ) return 0; /* we already processed VK_RETURN */
/* all characters go to nethack except Ctrl-P that scrolls message window up */
@@ -427,7 +440,6 @@ LRESULT CALLBACK MainWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lPar
NHEVENT_KBD( (lParam & 1<<29)? M(tolower(wParam)) : wParam );
}
return 0;
#endif
/*-----------------------------------------------------------------------*/
@@ -865,6 +877,21 @@ LRESULT onWMCommand(HWND hWnd, WPARAM wParam, LPARAM lParam)
DialogBox(GetNHApp()->hApp, (LPCTSTR)IDD_ABOUTBOX, hWnd, (DLGPROC)About);
break;
case IDM_CMD_DLG: {
char input[BUFSZ];
char* p;
boolean ctrl = FALSE;
mswin_getlin("Enter command", input);
for(p=input; *p; p++) {
if( *p == '^' ) {
ctrl = TRUE;
continue;
}
NHEVENT_KBD(ctrl? C(*p) : *p);
ctrl = FALSE;
}
} break;
case IDM_EXIT:
done2();
break;
@@ -1109,10 +1136,8 @@ void mswin_select_map_mode(int mode)
** first, check if WIN_MAP has been inialized.
** If not - attempt to retrieve it by type, then check it again
*/
if( map_id==WIN_ERR )
map_id = mswin_winid_from_type(NHW_MAP);
if( map_id!=WIN_ERR )
mswin_map_mode(mswin_hwnd_from_winid(map_id), mode);
if( WIN_MAP!=WIN_ERR )
mswin_map_mode(mswin_hwnd_from_winid(WIN_MAP), mode);
}
static struct t_menu2mapmode {

View File

@@ -299,6 +299,17 @@ int mswin_map_mode(HWND hWnd, int mode)
return oldMode;
}
/* retrieve cursor position */
void mswin_map_get_cursor(HWND hWnd, int* x, int* y)
{
PNHMapWindow data;
data = (PNHMapWindow)GetWindowLong(hWnd, GWL_USERDATA);
if( !data ) panic("mswin_map_get_cursor: no window data");
if( x ) *x = data->xCur;
if( y ) *y = data->yCur;
}
/* register window class for map window */
void register_map_window_class()
{

View File

@@ -14,6 +14,7 @@
HWND mswin_init_map_window (void);
void mswin_map_stretch(HWND hWnd, LPSIZE lpsz, BOOL redraw);
int mswin_map_mode(HWND hWnd, int mode);
void mswin_map_get_cursor(HWND hWnd, int* x, int* y);
#define ROGUE_LEVEL_MAP_MODE MAP_MODE_ASCII12x16

View File

@@ -271,7 +271,7 @@ LRESULT CALLBACK MenuWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lPar
#if defined(WIN_CE_SMARTPHONE)
/* special initialization for SmartPhone dialogs */
NHSPhoneDialogSetup(hWnd, FALSE, GetNHApp()->bFullScreen);
NHSPhoneDialogSetup(hWnd, IDC_SPHONE_DIALOGBAR, FALSE, GetNHApp()->bFullScreen);
#endif
} break;
@@ -1441,6 +1441,10 @@ LRESULT CALLBACK NHMenuListWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARA
bUpdateFocusItem = TRUE;
} break;
/* tell Windows not to process arrow keys */
case WM_GETDLGCODE:
return DLGC_WANTARROWS;
#else /* defined(WIN_CE_SMARTPHONE) */
case WM_KEYDOWN:
if( wParam==VK_TACTION ) {

View File

@@ -46,6 +46,7 @@ static void onMSNH_VScroll(HWND hWnd, WPARAM wParam, LPARAM lParam);
#ifndef MSG_WRAP_TEXT
static void onMSNH_HScroll(HWND hWnd, WPARAM wParam, LPARAM lParam);
#endif
static COLORREF setMsgTextColor(HDC hdc, int gray);
static void onPaint(HWND hWnd);
static void onCreate(HWND hWnd, WPARAM wParam, LPARAM lParam);
@@ -457,6 +458,24 @@ void onMSNH_HScroll(HWND hWnd, WPARAM wParam, LPARAM lParam)
}
#endif // MSG_WRAP_TEXT
COLORREF setMsgTextColor(HDC hdc, int gray)
{
COLORREF fg, color1, color2;
if (gray) {
color1 = mswin_get_color(NHW_MESSAGE, MSWIN_COLOR_BG);
color2 = mswin_get_color(NHW_MESSAGE, MSWIN_COLOR_FG);
/* Make a "gray" color by taking the average of the individual R,G,B
components of two colors. Thanks to Jonathan del Strother */
fg = RGB((GetRValue(color1)+GetRValue(color2))/2,
(GetGValue(color1)+GetGValue(color2))/2,
(GetBValue(color1)+GetBValue(color2))/2);
} else {
fg = mswin_get_color(NHW_MESSAGE, MSWIN_COLOR_FG);
}
return SetTextColor(hdc, fg);
}
void onPaint(HWND hWnd)
{
PAINTSTRUCT ps;
@@ -473,7 +492,7 @@ void onPaint(HWND hWnd)
hdc = BeginPaint(hWnd, &ps);
OldBg = SetBkColor(hdc, mswin_get_color(NHW_MESSAGE, MSWIN_COLOR_BG));
OldFg = SetTextColor(hdc, mswin_get_color(NHW_MESSAGE, MSWIN_COLOR_FG));
OldFg = setMsgTextColor(hdc, 0);
data = (PNHMessageWindow)GetWindowLong(hWnd, GWL_USERDATA);
@@ -504,6 +523,7 @@ void onPaint(HWND hWnd)
oldFont = SelectObject(hdc, mswin_get_font(NHW_MESSAGE, data->window_text[i].attr, hdc, FALSE));
setMsgTextColor(hdc, i < (MSG_LINES - data->lines_last_turn));
#ifdef MSG_WRAP_TEXT
DrawText(hdc, wbuf, wlen, &draw_rt, DT_NOPREFIX | DT_WORDBREAK | DT_CALCRECT);
draw_rt.top = y - (draw_rt.bottom - draw_rt.top);
@@ -518,21 +538,6 @@ void onPaint(HWND hWnd)
} else {
y -= data->yChar;
}
/* highligh the last line */
if( i==MSG_LINES-1 ) {
draw_rt.left = client_rt.left;
draw_rt.right = draw_rt.left + 2*data->xChar;
DrawText(hdc, TEXT("> "), 2, &draw_rt, DT_NOPREFIX );
y -= 2;
draw_rt.left = client_rt.left;
draw_rt.right = client_rt.right;
draw_rt.top -= 2;
draw_rt.bottom = client_rt.bottom;
DrawEdge(hdc, &draw_rt, EDGE_SUNKEN, BF_TOP );
DrawEdge(hdc, &draw_rt, EDGE_SUNKEN, BF_BOTTOM );
}
}
}
@@ -569,6 +574,10 @@ void onCreate(HWND hWnd, WPARAM wParam, LPARAM lParam)
/* Free the device context. */
SelectObject(hdc, saveFont);
ReleaseDC (hWnd, hdc);
/* create command pad (keyboard emulator) */
if( !GetNHApp()->hCmdWnd )
GetNHApp()->hCmdWnd = mswin_init_command_window();
}
void mswin_message_window_size (HWND hWnd, LPSIZE sz)

View File

@@ -21,6 +21,7 @@ LRESULT CALLBACK TextWndProc(HWND, UINT, WPARAM, LPARAM);
LRESULT CALLBACK NHTextControlWndProc(HWND, UINT, WPARAM, LPARAM);
static void onMSNHCommand(HWND hWnd, WPARAM wParam, LPARAM lParam);
static void LayoutText(HWND hwnd);
static void ToggleWrapStatus(HWND hDlg, BOOL bWrap);
HWND mswin_init_text_window () {
HWND ret;
@@ -51,11 +52,7 @@ void mswin_display_text_window (HWND hWnd)
data = (PNHTextWindow)GetWindowLong(hWnd, GWL_USERDATA);
if( data ) {
HWND control;
control = GetDlgItem(hWnd, IDC_TEXT_CONTROL);
SendMessage(control, EM_FMTLINES, 1, 0 );
mswin_render_text(data->window_text, GetDlgItem(hWnd, IDC_TEXT_CONTROL));
ToggleWrapStatus(hWnd, mswin_get_text_wrap(data->window_text));
data->done = 0;
mswin_popup_display(hWnd, &data->done);
mswin_popup_destroy(hWnd);
@@ -84,22 +81,12 @@ LRESULT CALLBACK TextWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lPar
#if defined(WIN_CE_SMARTPHONE)
/* special initialization for SmartPhone dialogs */
NHSPhoneDialogSetup(hWnd, FALSE, GetNHApp()->bFullScreen);
NHSPhoneDialogSetup(hWnd, IDC_SPHONE_TEXTDIALOGBAR, FALSE, GetNHApp()->bFullScreen);
#endif
/* subclass edit control */
editControlWndProc = (WNDPROC)GetWindowLong(control, GWL_WNDPROC);
SetWindowLong(control, GWL_WNDPROC, (LONG)NHTextControlWndProc);
if( !program_state.gameover && GetNHApp()->bWrapText ) {
DWORD styles;
styles = GetWindowLong(control, GWL_STYLE);
if( styles ) {
SetWindowLong(control, GWL_STYLE, styles & (~WS_HSCROLL));
SetWindowPos(control, NULL, 0, 0, 0, 0,
SWP_FRAMECHANGED | SWP_NOZORDER | SWP_NOMOVE | SWP_NOSIZE );
}
}
SetFocus(control);
return FALSE;
@@ -116,8 +103,11 @@ LRESULT CALLBACK TextWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lPar
{
case IDOK:
case IDCANCEL:
data->done = 1;
return TRUE;
data->done = 1;
return TRUE;
case IDC_TEXT_TOGGLE_WRAP:
ToggleWrapStatus(hWnd, !mswin_get_text_wrap(data->window_text));
return TRUE;
}
break;
@@ -159,16 +149,80 @@ void onMSNHCommand(HWND hWnd, WPARAM wParam, LPARAM lParam)
}
}
void ToggleWrapStatus(HWND hDlg, BOOL bWrap)
{
DWORD styles;
PNHTextWindow data;
HWND control;
TCHAR wbuf[BUFSZ];
data = (PNHTextWindow)GetWindowLong(hDlg, GWL_USERDATA);
control = GetDlgItem(hDlg, IDC_TEXT_CONTROL);
if( !control ) {
panic("cannot get text view window");
}
/* set horizontal scrollbar status */
styles = GetWindowLong(control, GWL_STYLE);
if( styles ) {
SetWindowLong(control, GWL_STYLE, (bWrap? (styles & (~WS_HSCROLL)) : (styles | WS_HSCROLL)));
SetWindowPos(control, NULL, 0, 0, 0, 0,
SWP_FRAMECHANGED | SWP_NOZORDER | SWP_NOMOVE | SWP_NOSIZE );
}
/* set text wrap mode */
mswin_set_text_wrap(data->window_text, bWrap);
mswin_render_text(data->window_text, control);
/* change button status */
ZeroMemory( wbuf, sizeof(wbuf) );
if( !LoadString(
GetNHApp()->hApp,
(bWrap? IDS_TEXT_UNWRAP : IDS_TEXT_WRAP),
wbuf,
BUFSZ) ) {
panic("cannot load text window strings");
}
#if defined(WIN_CE_SMARTPHONE)
{
TBBUTTONINFO tbbi;
ZeroMemory( &tbbi, sizeof(tbbi) );
tbbi.cbSize = sizeof(tbbi);
tbbi.dwMask = TBIF_TEXT;
tbbi.pszText = wbuf;
if( !SendMessage(
SHFindMenuBar(hDlg),
TB_SETBUTTONINFO,
IDC_TEXT_TOGGLE_WRAP,
(LPARAM)&tbbi) ) {
error( "Cannot update IDC_TEXT_TOGGLE_WRAP menu item." );
}
}
#else
SendDlgItemMessage(
hDlg,
IDC_TEXT_TOGGLE_WRAP,
WM_SETTEXT,
(WPARAM)0,
(LPARAM)wbuf
);
#endif
}
void LayoutText(HWND hWnd)
{
HWND btn_ok;
HWND btn_ok, btn_wrap;
HWND text;
RECT clrt, rt;
POINT pt_elem, pt_ok;
SIZE sz_elem, sz_ok;
POINT pt_elem, pt_ok, pt_wrap;
SIZE sz_elem, sz_ok, sz_wrap;
text = GetDlgItem(hWnd, IDC_TEXT_CONTROL);
btn_ok = GetDlgItem(hWnd, IDOK);
btn_wrap = GetDlgItem(hWnd, IDC_TEXT_TOGGLE_WRAP);
/* get window coordinates */
GetClientRect(hWnd, &clrt );
@@ -176,12 +230,18 @@ void LayoutText(HWND hWnd)
/* set window placements */
if( IsWindow(btn_ok) ) {
GetWindowRect(btn_ok, &rt);
sz_ok.cx = clrt.right - clrt.left;
sz_ok.cx = (clrt.right - clrt.left)/2;
sz_ok.cy = rt.bottom-rt.top;
pt_ok.x = clrt.left;
pt_ok.y = clrt.bottom - sz_ok.cy;
MoveWindow(btn_ok, pt_ok.x, pt_ok.y, sz_ok.cx, sz_ok.cy, TRUE );
sz_wrap.cx = (clrt.right - clrt.left)/2;
sz_wrap.cy = rt.bottom-rt.top;
pt_wrap.x = clrt.left + sz_ok.cx;
pt_wrap.y = clrt.bottom - sz_ok.cy;
MoveWindow(btn_wrap, pt_wrap.x, pt_wrap.y, sz_wrap.cx, sz_wrap.cy, TRUE );
pt_elem.x = clrt.left;
pt_elem.y = clrt.top;
sz_elem.cx = clrt.right - clrt.left;
@@ -200,7 +260,7 @@ void LayoutText(HWND hWnd)
LRESULT CALLBACK NHTextControlWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
switch(message) {
case WM_KEYUP:
case WM_KEYDOWN:
switch( wParam ) {
case VK_SPACE:
case VK_RETURN:
@@ -228,7 +288,7 @@ LRESULT CALLBACK NHTextControlWndProc(HWND hWnd, UINT message, WPARAM wParam, LP
PostMessage(hWnd, WM_HSCROLL, MAKEWPARAM(SB_LINERIGHT, 0), (LPARAM)NULL);
return 0;
}
break; /* case WM_KEYUP: */
break; /* case WM_KEYDOWN: */
}
if( editControlWndProc )

View File

@@ -96,7 +96,9 @@ void mswin_add_text(PNHTextBuffer pb, int attr, const char* text)
/* if there are 3 (or more) consecutive spaces inside the string
consider it formatted */
new_line->formatted = (strstr(new_line->text, " ")!=NULL);
new_line->formatted =
(strstr(new_line->text, " ")!=NULL)
|| (new_line->beg_padding>8);
} else {
new_line->end_padding = 0;
new_line->text[0] = 0;
@@ -105,6 +107,16 @@ void mswin_add_text(PNHTextBuffer pb, int attr, const char* text)
pb->n_used++;
}
/*----------------------------------------------------------------*/
void mswin_set_text_wrap(PNHTextBuffer pb, BOOL wrap_text)
{
pb->b_wrap_text = wrap_text;
}
/*----------------------------------------------------------------*/
BOOL mswin_get_text_wrap(PNHTextBuffer pb)
{
return pb->b_wrap_text;
}
/*----------------------------------------------------------------*/
static TCHAR* nh_append( TCHAR* s, int* size, const char* ap )
{
int tlen, tnewlen;

View File

@@ -12,6 +12,8 @@ typedef struct mswin_nethack_text_buffer* PNHTextBuffer;
PNHTextBuffer mswin_init_text_buffer(BOOL wrap_text);
void mswin_free_text_buffer(PNHTextBuffer pb);
void mswin_add_text(PNHTextBuffer pb, int attr, const char* text);
void mswin_set_text_wrap(PNHTextBuffer pb, BOOL wrap_text);
BOOL mswin_get_text_wrap(PNHTextBuffer pb);
void mswin_render_text(PNHTextBuffer pb, HWND edit_control);
#endif /* MSWINTextBuffer_h */

View File

@@ -1891,7 +1891,7 @@ void mswin_set_fullscreen(BOOL is_fullscreen)
}
#if defined(WIN_CE_SMARTPHONE)
void NHSPhoneDialogSetup(HWND hDlg, BOOL is_edit, BOOL is_fullscreen)
void NHSPhoneDialogSetup(HWND hDlg, UINT nToolBarId, BOOL is_edit, BOOL is_fullscreen)
{
SHMENUBARINFO mbi;
HWND hOK, hCancel;
@@ -1901,7 +1901,7 @@ void NHSPhoneDialogSetup(HWND hDlg, BOOL is_edit, BOOL is_fullscreen)
ZeroMemory(&mbi, sizeof(SHMENUBARINFO));
mbi.cbSize = sizeof(mbi);
mbi.hwndParent = hDlg;
mbi.nToolBarId = IDC_SPHONE_DIALOGBAR;
mbi.nToolBarId = nToolBarId;
mbi.hInstRes = GetNHApp()->hApp;
if(!SHCreateMenuBar(&mbi)) {
error("cannot create dialog menu");
@@ -1961,6 +1961,25 @@ void mswin_write_reg(void)
{
}
/* check HKCU\Software\\Microsoft\\Shell\HasKeyboard for keyboard presence,
if the key is not there assume older device and no keyboard */
BOOL mswin_has_keyboard(void)
{
DWORD dwHasKB = 0;
#if defined(WIN_CE_POCKETPC) || defined(WIN_CE_SMARTPHONE)
HKEY hKey;
DWORD dwType;
DWORD dwSize = sizeof(dwHasKB);
if( RegOpenKeyEx(HKEY_CURRENT_USER , _T("Software\\Microsoft\\Shell"), 0, 0, &hKey)==ERROR_SUCCESS) {
if( RegQueryValueEx(hKey, _T("HasKeyboard"), NULL, &dwType, (LPBYTE)&dwHasKB, &dwSize)!=ERROR_SUCCESS) {
dwHasKB = 0;
}
RegCloseKey(hKey);
}
#endif
return (dwHasKB==1);
}
#ifdef _DEBUG
#include <stdarg.h>

555
sys/wince/nhico.uu Normal file
View File

@@ -0,0 +1,555 @@
begin 700 nethack.ico
M```!``8`("``````"`"H"```9@```!`0``````@`:`4```X)```L+``````(
M`!@-``!V#@``0$``````"``H%@``CAL``%I:``````@`N"@``+8Q```6%@``
M```(`)`&``!N6@``*````"````!``````0`(````````!```````````````
M`0````$``````````(```(````"`@`"`````@`"``("```#`P,``P-S``/#*
MI@`$!`0`"`@(``P,#``1$1$`%A86`!P<'``B(B(`*2DI`%5550!-34T`0D)"
M`#DY.0"`?/\`4%#_`),`U@#_[,P`QM;O`-;GYP"0J:T````S````9@```)D`
M``#,```S````,S,``#-F```SF0``,\P``#/_``!F````9C,``&9F``!FF0``
M9LP``&;_``"9````F3,``)EF``"9F0``F<P``)G_``#,````S#,``,QF``#,
MF0``S,P``,S_``#_9@``_YD``/_,`#,````S`#,`,P!F`#,`F0`S`,P`,P#_
M`#,S```S,S,`,S-F`#,SF0`S,\P`,S/_`#-F```S9C,`,V9F`#-FF0`S9LP`
M,V;_`#.9```SF3,`,YEF`#.9F0`SF<P`,YG_`#/,```SS#,`,\QF`#/,F0`S
MS,P`,\S_`#/_,P`S_V8`,_^9`#/_S``S__\`9@```&8`,P!F`&8`9@"9`&8`
MS`!F`/\`9C,``&8S,P!F,V8`9C.9`&8SS`!F,_\`9F8``&9F,P!F9F8`9F:9
M`&9FS`!FF0``9IDS`&:99@!FF9D`9IG,`&:9_P!FS```9LPS`&;,F0!FS,P`
M9LS_`&;_``!F_S,`9O^9`&;_S`#,`/\`_P#,`)F9``"9,YD`F0"9`)D`S`"9
M````F3,S`)D`9@"9,\P`F0#_`)EF``"99C,`F3-F`)EFF0"99LP`F3/_`)F9
M,P"9F68`F9F9`)F9S`"9F?\`F<P``)G,,P!FS&8`F<R9`)G,S`"9S/\`F?\`
M`)G_,P"9S&8`F?^9`)G_S`"9__\`S````)D`,P#,`&8`S`"9`,P`S`"9,P``
MS#,S`,PS9@#,,YD`S#/,`,PS_P#,9@``S&8S`)EF9@#,9ID`S&;,`)EF_P#,
MF0``S)DS`,R99@#,F9D`S)G,`,R9_P#,S```S,PS`,S,9@#,S)D`S,S,`,S,
M_P#,_P``S/\S`)G_9@#,_YD`S/_,`,S__P#,`#,`_P!F`/\`F0#,,P``_S,S
M`/\S9@#_,YD`_S/,`/\S_P#_9@``_V8S`,QF9@#_9ID`_V;,`,QF_P#_F0``
M_YDS`/^99@#_F9D`_YG,`/^9_P#_S```_\PS`/_,9@#_S)D`_\S,`/_,_P#_
M_S,`S/]F`/__F0#__\P`9F;_`&;_9@!F__\`_V9F`/]F_P#__V8`(0"E`%]?
M7P!W=W<`AH:&`):6E@#+R\L`LK*R`-?7UP#=W=T`X^/C`.KJZ@#Q\?$`^/CX
M`/#[_P"DH*``@("`````_P``_P```/__`/\```#_`/\`__\``/___P`*"@H*
M"O3R"@H*"@H*\_#R"@H*"@H*"@KT"@H*"@H*"@H*"@KS;1+T"@H*"O'PO`<'
M\@H*"@KSO/'T"@H*"@H*"@H*"@KL1.L*"O/Q\&\'!Y/WO`H*]`>\\O,*"@H*
M"@H*"@H*"O3J1._R\`=&1P<'(&_OO`H'!_.\"@H*"@H*"@H*"@H*"O!$[+R3
M("!'!Y,@($6\O`?S\/(*"@H*"@H*"@H*"@H*"N\''"`@($<'DR`@'T6\\/#Q
M"@H*"@H*"@H*"@H*"@KR!QP?("`@1P?O("`?'T7PO`H*"@H*"@H*"@H*"@H*
M"@<''Q\@("!&[.M%Z1\?`6[Q]`H*"@H*"@H*"@H*"@KR[VX!'^GL[`<'!P=M
M'Q\!`;SQ"@H*"@H*"@H*"@H*"O$'10%%!P<';_>2;D4?'P$!!_`*"@H*"@H*
M"@H*"@H*\`<!`0?W12!&Z^QNZNKJ1`&3O`H*"@H*"@H*"@H*"@KP!P%N!T0@
M$NR2[/?WD@?L`9.\"@H*"@H*"@H*"@H*"O$'`0?W'V[W!_"\[^P?D@=$D[P*
M"@H*"@H*"@H*"@H*\0>\!^N\!P?Q\_(';0?W!^R\!PH*"@H*"@H*"@H*"@KQ
MO+P';;SO!_+T\KSK\.\'[`<'"@H*"@H*"@H*"@H*"O*\`0?MZ6[W\/'P]^L?
M[`=$DP<*"@H*"@H*"@H*"@H*\O`![`=$(._O[^WO[!^2[`&3!PH*"@H*"@H*
M"@H*"@KR\`$!!_=%(&[W]^UN;0=$`9/O"@H*"@H*"@H*"@H*"O/Q`0%%!^]M
M1>WMZNL'$@$!'.\'!_(*"@H*"@H*"@H*\_$!`1_I'`<'[P<'[T4?`0$<[_$'
M[[P*"@H*"@H*"@KS\0$!'R`@(&^2]T8@'Q\!`>WW\`?O!_(*"@H*"@H*"O/Q
M`0$?("`@1@<'("`?'P$![9+P!^^2[_,*"@H*"@H*\_`!`1\?("!&!P<@(!\!
M`0%N[?`'[Y+L[PH*"@H*"@KS\._O!P?O[P<'\/"\O+P'!^V2O`?ODNP'"@H*
M"@H*"@?M[._R\+SP\?+R\O"\O`?O[^R\!^_M[.\*"@H*"@KQ1$1N"@H*"@H*
M"@KQ\_/Q!^\'[^V2!_`'[`H*"@H*"FU$ZO,*"@H*"@H*"@?S\_`'[Y*\[/(*
M"@KS"@H*"@KL1$0'"@H*"@H*"@H*\_/S\`?O[._Q[PH*"@H*"@H*[T1$'`H*
M"@H*"@H*"@H*\_/P!_<'"O0*"@H*"@H*"@KL'.P*"@H*"@H*"@H*"@KP!_`'
M]PH*"@H*"@H*"@H*"@H'\@H*"@H*"@H*"@H*"@KRO`?O"@H*"@H*"@H*"@H*
M"@H*"@H*"@H*"@H*"@H*"@H*\_#S"@H*"@H*"@H*^?C_?_#P/#_XP!@_^``(
M?_P``'_^``#__``!__P``/_X``#_^```__@``/_X``#_^```__@``/_X``#_
M^```__@``/_X``#_^```'_@```_X```'^````_@```/X```#^````_#_``/P
M_P`[X?\`/\/_@7_'_X/_Y__#____\?\H````$````"`````!``@````````!
M```````````````!`````0``````````@```@````("``(````"``(``@(``
M`,#`P`#`W,``\,JF``0$!``("`@`#`P,`!$1$0`6%A8`'!P<`"(B(@`I*2D`
M5555`$U-30!"0D(`.3DY`(!\_P!04/\`DP#6`/_LS`#&UN\`UN?G`)"IK0``
M`#,```!F````F0```,P``#,````S,P``,V8``#.9```SS```,_\``&8```!F
M,P``9F8``&:9``!FS```9O\``)D```"9,P``F68``)F9``"9S```F?\``,P`
M``#,,P``S&8``,R9``#,S```S/\``/]F``#_F0``_\P`,P```#,`,P`S`&8`
M,P"9`#,`S``S`/\`,S,``#,S,P`S,V8`,S.9`#,SS``S,_\`,V8``#-F,P`S
M9F8`,V:9`#-FS``S9O\`,YD``#.9,P`SF68`,YF9`#.9S``SF?\`,\P``#/,
M,P`SS&8`,\R9`#/,S``SS/\`,_\S`#/_9@`S_YD`,__,`#/__P!F````9@`S
M`&8`9@!F`)D`9@#,`&8`_P!F,P``9C,S`&8S9@!F,YD`9C/,`&8S_P!F9@``
M9F8S`&9F9@!F9ID`9F;,`&:9``!FF3,`9IEF`&:9F0!FF<P`9IG_`&;,``!F
MS#,`9LR9`&;,S`!FS/\`9O\``&;_,P!F_YD`9O_,`,P`_P#_`,P`F9D``)DS
MF0"9`)D`F0#,`)D```"9,S,`F0!F`)DSS`"9`/\`F68``)EF,P"9,V8`F6:9
M`)EFS`"9,_\`F9DS`)F99@"9F9D`F9G,`)F9_P"9S```F<PS`&;,9@"9S)D`
MF<S,`)G,_P"9_P``F?\S`)G,9@"9_YD`F?_,`)G__P#,````F0`S`,P`9@#,
M`)D`S`#,`)DS``#,,S,`S#-F`,PSF0#,,\P`S#/_`,QF``#,9C,`F69F`,QF
MF0#,9LP`F6;_`,R9``#,F3,`S)EF`,R9F0#,F<P`S)G_`,S,``#,S#,`S,QF
M`,S,F0#,S,P`S,S_`,S_``#,_S,`F?]F`,S_F0#,_\P`S/__`,P`,P#_`&8`
M_P"9`,PS``#_,S,`_S-F`/\SF0#_,\P`_S/_`/]F``#_9C,`S&9F`/]FF0#_
M9LP`S&;_`/^9``#_F3,`_YEF`/^9F0#_F<P`_YG_`/_,``#_S#,`_\QF`/_,
MF0#_S,P`_\S_`/__,P#,_V8`__^9`/__S`!F9O\`9O]F`&;__P#_9F8`_V;_
M`/__9@`A`*4`7U]?`'=W=P"&AH8`EI:6`,O+RP"RLK(`U]?7`-W=W0#CX^,`
MZNKJ`/'Q\0#X^/@`\/O_`*2@H`"`@(````#_``#_````__\`_P```/\`_P#_
M_P``____````[QP``/'P\@``\O0```````=$\/!O[I.\\[SR````````[.]&
M1@<@;^[P`````````+Q%($;MZ1^3\@```````/0''^SWDO@?`;P```````#R
MD^Q%;NSX^$3N````````\N[W[._S]Y+K[@```````//N]^SW\??MZP<`````
M``#SD^QN[.WM;43O````````\^\![.WL[.H![P<'`````/23'R!&[R`?`?>\
M[_````#T[VX<D[R3DQR2O/?O````[>N\\O+T\O`'![SOD@``!T0<`````/'R
M[Y+W`````.MN``````#S\._S\@````#T`````````//P]`````#,9P``P`<`
M`.`/``#@#P``P`\``,`/``#`#P``P`\``,`/``#``P``P`$``,`!``#``0``
MCP<``)\'``"_CP``*````"P```!8`````0`(``````"0!P``````````````
M`0````$``````````(```(````"`@`"`````@`"``("```#`P,``P-S``/#*
MI@`$!`0`"`@(``P,#``1$1$`%A86`!P<'``B(B(`*2DI`%5550!-34T`0D)"
M`#DY.0"`?/\`4%#_`),`U@#_[,P`QM;O`-;GYP"0J:T````S````9@```)D`
M``#,```S````,S,``#-F```SF0``,\P``#/_``!F````9C,``&9F``!FF0``
M9LP``&;_``"9````F3,``)EF``"9F0``F<P``)G_``#,````S#,``,QF``#,
MF0``S,P``,S_``#_9@``_YD``/_,`#,````S`#,`,P!F`#,`F0`S`,P`,P#_
M`#,S```S,S,`,S-F`#,SF0`S,\P`,S/_`#-F```S9C,`,V9F`#-FF0`S9LP`
M,V;_`#.9```SF3,`,YEF`#.9F0`SF<P`,YG_`#/,```SS#,`,\QF`#/,F0`S
MS,P`,\S_`#/_,P`S_V8`,_^9`#/_S``S__\`9@```&8`,P!F`&8`9@"9`&8`
MS`!F`/\`9C,``&8S,P!F,V8`9C.9`&8SS`!F,_\`9F8``&9F,P!F9F8`9F:9
M`&9FS`!FF0``9IDS`&:99@!FF9D`9IG,`&:9_P!FS```9LPS`&;,F0!FS,P`
M9LS_`&;_``!F_S,`9O^9`&;_S`#,`/\`_P#,`)F9``"9,YD`F0"9`)D`S`"9
M````F3,S`)D`9@"9,\P`F0#_`)EF``"99C,`F3-F`)EFF0"99LP`F3/_`)F9
M,P"9F68`F9F9`)F9S`"9F?\`F<P``)G,,P!FS&8`F<R9`)G,S`"9S/\`F?\`
M`)G_,P"9S&8`F?^9`)G_S`"9__\`S````)D`,P#,`&8`S`"9`,P`S`"9,P``
MS#,S`,PS9@#,,YD`S#/,`,PS_P#,9@``S&8S`)EF9@#,9ID`S&;,`)EF_P#,
MF0``S)DS`,R99@#,F9D`S)G,`,R9_P#,S```S,PS`,S,9@#,S)D`S,S,`,S,
M_P#,_P``S/\S`)G_9@#,_YD`S/_,`,S__P#,`#,`_P!F`/\`F0#,,P``_S,S
M`/\S9@#_,YD`_S/,`/\S_P#_9@``_V8S`,QF9@#_9ID`_V;,`,QF_P#_F0``
M_YDS`/^99@#_F9D`_YG,`/^9_P#_S```_\PS`/_,9@#_S)D`_\S,`/_,_P#_
M_S,`S/]F`/__F0#__\P`9F;_`&;_9@!F__\`_V9F`/]F_P#__V8`(0"E`%]?
M7P!W=W<`AH:&`):6E@#+R\L`LK*R`-?7UP#=W=T`X^/C`.KJZ@#Q\?$`^/CX
M`/#[_P"DH*``@("`````_P``_P```/__`/\```#_`/\`__\``/___P``````
M````]/+T````````````\O#R````````````````````````````````````
M`/3Q$^\`````````\_#PO`<'\0``````````\_'R]```````````````````
M\^M$1/```````/'P\+P'!P?O!_,``````/('!_3S````````````````````
MO$I$;?0``/3Q\O"3DP>\;^_W[_$```#S!P?S\O(`````````````````````
M[T1$[0#T\/'N1OD6![P@(&_O[_$```<'\?.\````````````````````````
M^$1$!_#PDR`@^18'[B`@($8'!_*\![SS\/````````````````````````#S
M;6T'O),@("#Y%@<'("`@'T7PO`<'\_&\```````````````````````````'
M[P>3("`@(/F3!P<@("`?'T7N\+SQ]```````````````````````````\P<'
MDQ\@("`@^9,'!R`@(!\?'T6\\0?T```````````````````````````'[^\?
M'R`@("#YD^_O("`@'Q\?`47Q\/0`````````````````````````\N\'11\?
M("`@($9N;6U$1>D?'Q\!`1SQ\?0````````````````````````'[^\!'Q\@
MZ6UM]P<'!P<'ZQ\?'P$!1?"\]`````````````````````````<';@$?'T4'
M!P>\[^\'!P?L'Q\?`0$!![ST````````````````````````[^X!`1_M!P<'
M;OD6[^\@("`?'Q\!`0&3!_,```````````````````````#OO`$!10<'$B`@
M(&YM^$7JZNKJZA,!`1P'\@```````````````````````.^\`0'O!^OI($7K
M[.WLZP<'O+P'[T0!DP?R````````````````````````!^X!10<'1"!%[>V2
M]_?O[/=%'P<'$@&3!_(````````````````````````'!P'W!_=%Z0?W!_#P
MO`?O[44![P=M`1P'\0````````````````````````>\\.\'Z[SO[^_P\O+Q
MO._K[[SO!^R\O._Q````````````````````````![SP!P=MO._WO/'S]//P
M[^SO\>\'[>\'[_$````````````````````````'O.\'!^N3'.\'\?/T\O#O
M[.V3]P?M'`?O\0```````````````````````+SN`6X'[T4@!Y*\\?'PO)*2
M'Q_O!^H!D^_P````````````````````````O+P!10<'$B!&!_<'!^_M[_<?
M'P<'$P&3[_````````````````````````#PO`$!'`?O1"!&!_`'!P<'[Q\2
M!^U$`1SW\````````````````````````/#P`0$?!P?W1"#Y;Y+O($9%$^_W
M1`$!'/>\````````````````````````\/`!`1]%!P<';41N[_=%$NL'[T0!
M`0$<D@?O[[ST``````````````````#Q\0$!'Q_ID[P'!^^2D@<'!^YN'P$!
M`9.2!_`'[^_R`````````````````/'Q`0$?'Q\@1FX'![R\[N]NZ1\?`0$!
M[9('\+P'[_#R````````````````\?$!`1\?'R`@(/EO!P<@("`@'Q\!`0'M
M[>_P!P?O[_+R``````````````#Q\`$!'Q\?("`@^6\'O"`@("`?'P$!`>WM
M[_`'!^^2D@<``````````````/+P`0$?'Q\@("#Y;P>\("`@(!\?`0$!;NSO
M\`?O[Y+L[/$`````````````\;QN;FYN;FYN;V^3!_"3;VYN;I,<[6[L[`>\
M!^_ODNSM!P````````````#Q\;P'!P?O[^_O[P<'O/#Q\O"\!^_ODNWL![P'
M[_>2[.SQ``````````````?WDO?N\;P'!P>\\/'Q\?"\O+R\!^_O[^SOO`?O
M]^WL^+P```````````#O%$1$[P````````````#T]/3SO`<'!_?P[Q+O!^SM
M[>SX]P``````````O!)#1.T``````````````/'P]/3R\+P'[_?SDOB2]```
M`/#M`````````/)M%41N]```````````````\;ST]/+P!^_ODN_O^/``````
M`/0`````````^!5$;?$`````````````````\/3T\O`'[_?M[`<'D@``````
M`````````!Q$1$H'````````````````````]/3R\`?O]^ST`.^2````````
M``````#O$D-$'`````````````````````#P\_'P!^^2\@```/#Q````````
M`````.T'[/@``````````````````````/#O\;P'[^\`````````````````
M`````)+M\P```````````````````````/('O`?O!P``````````````````
M`````````````````````````````````/3Q\`?O````````````````````
M``````````````````````````````````#T\O#S````````````````_C_C
M___P``#\/X#_#_```/P?`#X/\```_@P`'`_P``#_"``,'_```/^````?\```
M_X```#_P``#_P```?_```/^```!_\```_X```'_P``#_````/_```/\````_
M\```_P```#_P``#_````/_```/\````_\```_P```#_P``#_````/_```/\`
M```_\```_P```#_P``#_````/_```/\````_\```_P```#_P``#_````/_``
M`/\````_\```_P```#_P``#_`````_```/\````!\```_P````#P``#_````
M`'```/\`````<```_P`````P``#_`````#```/\`````,```_P`````P``#^
M#_P``#```/P?_``',```^!_\``^P``#X/_X`#_```/!__P!/\```X/__`.?P
M``#A__\!__```/'__X'_\```____P?_P``#____P__```"@```!`````@```
M``$`"````````!````````````````$````!``````````"```"`````@(``
M@````(``@`"`@```P,#``,#<P`#PRJ8`!`0$``@("``,#`P`$1$1`!86%@`<
M'!P`(B(B`"DI*0!5554`34U-`$)"0@`Y.3D`@'S_`%!0_P"3`-8`_^S,`,;6
M[P#6Y^<`D*FM````,P```&8```"9````S```,P```#,S```S9@``,YD``#/,
M```S_P``9@```&8S``!F9@``9ID``&;,``!F_P``F0```)DS``"99@``F9D`
M`)G,``"9_P``S````,PS``#,9@``S)D``,S,``#,_P``_V8``/^9``#_S``S
M````,P`S`#,`9@`S`)D`,P#,`#,`_P`S,P``,S,S`#,S9@`S,YD`,S/,`#,S
M_P`S9@``,V8S`#-F9@`S9ID`,V;,`#-F_P`SF0``,YDS`#.99@`SF9D`,YG,
M`#.9_P`SS```,\PS`#/,9@`SS)D`,\S,`#/,_P`S_S,`,_]F`#/_F0`S_\P`
M,___`&8```!F`#,`9@!F`&8`F0!F`,P`9@#_`&8S``!F,S,`9C-F`&8SF0!F
M,\P`9C/_`&9F``!F9C,`9F9F`&9FF0!F9LP`9ID``&:9,P!FF68`9IF9`&:9
MS`!FF?\`9LP``&;,,P!FS)D`9LS,`&;,_P!F_P``9O\S`&;_F0!F_\P`S`#_
M`/\`S`"9F0``F3.9`)D`F0"9`,P`F0```)DS,P"9`&8`F3/,`)D`_P"99@``
MF68S`)DS9@"99ID`F6;,`)DS_P"9F3,`F9EF`)F9F0"9F<P`F9G_`)G,``"9
MS#,`9LQF`)G,F0"9S,P`F<S_`)G_``"9_S,`F<QF`)G_F0"9_\P`F?__`,P`
M``"9`#,`S`!F`,P`F0#,`,P`F3,``,PS,P#,,V8`S#.9`,PSS`#,,_\`S&8`
M`,QF,P"99F8`S&:9`,QFS`"99O\`S)D``,R9,P#,F68`S)F9`,R9S`#,F?\`
MS,P``,S,,P#,S&8`S,R9`,S,S`#,S/\`S/\``,S_,P"9_V8`S/^9`,S_S`#,
M__\`S``S`/\`9@#_`)D`S#,``/\S,P#_,V8`_S.9`/\SS`#_,_\`_V8``/]F
M,P#,9F8`_V:9`/]FS`#,9O\`_YD``/^9,P#_F68`_YF9`/^9S`#_F?\`_\P`
M`/_,,P#_S&8`_\R9`/_,S`#_S/\`__\S`,S_9@#__YD`___,`&9F_P!F_V8`
M9O__`/]F9@#_9O\`__]F`"$`I0!?7U\`=W=W`(:&A@"6EI8`R\O+`+*RL@#7
MU]<`W=W=`./CXP#JZNH`\?'Q`/CX^`#P^_\`I*"@`("`@````/\``/\```#_
M_P#_````_P#_`/__``#___\`````````````````````````````````````
M`/'P\P``````````````````````````````````````````````````````
M``#RO&T`````````````````\+R\O`?P\@``````````````````]/0`]```
M```````````````````````````'\A,3[P````````````#S!_#PO`<'!P>\
M]`````````````#S\;P'\O0`````````````````````````````!VU$0VWQ
M``````````#Q\/'PO+P'!P?O[^_P``````````#TO`<'O/3S````````````
M``````````````````#O2D05^/0``````/3P\O+Q!Y.\!P>3[^_W]P?T````
M``#T\.\'!_3R\0```````````````````````````````.Q$1$0<`````/+P
M\O+PDT<7O`<';T:3]_?O!_,`````\^\'!_3SO/,`````````````````````
M``````````#S;D1#$NX``/+P\?+N;R#Y%P<'!V\@(&_W[^\'\@``]`<'!_+S
M\0<```````````````````````````````````?J1$/K\O*\\/&31B`@^1<'
M!P=O("`@1ASO!P?R``<'!_#T\KSP````````````````````````````````
M````'$1#1`<'O/!O("`@(/D7!P<';R`@("#IDP<'O+SO![ST\O`']```````
M``````````````````````````````!N1.\'O/!O("`@("#Y%P<'!V\@("`@
M'Q^3\;R\!P?S\_`'\P``````````````````````````````````````\?<'
M!P=O("`@("`@^1<'!P=O("`@(!\?Z6^\\/"\\_&\\@``````````````````
M`````````````````````/#O!P=N'R`@("`@(/D7!P<';R`@("`?'Q\!;O#Q
M\`>\\0```````````````````````````````````````/+O!P>3'Q\@("`@
M("#Y%P?O[V\@("`@'Q\?`0$<\?&\\```````````````````````````````
M```````````'[P>3'Q\?("`@("`@^1<'[^]O("`@(!\?'P$!`1SR\KP`````
M``````````````````````````````````#Q[^\'`1\?'R`@("`@(/D7!^_O
M;B`@("`?'Q\!`0%%O/+P\P``````````````````````````````````````
M!^\''`$?'Q\@("`@("!%$A(3$Q-$1$7I'Q\?`0$!`6[Q\?``````````````
M````````````````````````\>_O!P$!'Q\?("#I1!/K]^\'!P<'!^_W%!\?
M'P$!`0$![O"\`````````````````````````````````````+SO[^\!`1\?
M'^GMO`<'!P<'!P<'!P<'!Q0?'Q\!`0$!`1SPO/,`````````````````````
M```````````````'[P?M`0$?'^F\!P<'!_`'')+O[^\'!P<3'Q\?`0$!`0%N
M\+SR````````````````````````````````````!^^\10$!'^F\!P<'O!P@
M^1?O[_=N("`@(!\?'P$!`0$!1;P'\0``````````````````````````````
M``````?OO`$!`1_N!P?OZT8@(/D7[^_W;NE$1$1$1$1$1`$!`0&\!_$`````
M```````````````````````````````'[[P!`0%N!P<';>D@("!%$A(3$NKM
M]_?O[^_O[^Q$`0$!O`?Q````````````````````````````````````!P>\
M`0$!\`<'[$4@("`3[/CL^&WKD@<'!P<'!P?O$P$!`>X'\0``````````````
M``````````````````````<'O`$!;@<'[T0@("`4DNR2DO?O[VWO!^MN;@<'
M!VT!`0'N!_`````````````````````````````````````'![P!`0<'!Y)%
M("#K[Y*2[^_O]P<';0<2'Q]N!P?W1`%%!P?P````````````````````````
M````````````!P<'`0&\!P?K'Q]%O/?OO+SP\+P'O._L$Q\?1;P'[Q0!10<'
M\`````````````````````````````````````<'O.X'\`<'$@<'!P?OO/#Q
M\?'P\`<'ZQ+O[P>\!P<2[NX'[_``````````````````````````````````
M``"\![SP!_`'!^KPO`?O[_#Q\O/S\O`'[>T2\/#Q!P<'$KP'!^^\````````
M````````````````````````````O`>\\`?P!P?JO+R\]P?P\O/T]/+QO)*2
M$O#Q\;P'!^J\!P?OO````````````````````````````````````+R\O+P'
M\`<'$P<'!^\'\/+S]/3R\;R2[1*\[NZ\!P?J!P<'[[P`````````````````
M``````````````````#PO`<!`;P'!Q+I(&X']_#Q\O/R\?`']^T3Z1\?O`<'
M$P%%!^^\````````````````````````````````````\+P'`0'O!P?M12`@
MO.\'\/'Q\?"\[Y('$Q\?1;P'!Q,!10?O!P``````````````````````````
M`````````/"\!P$!;@<'!Q,@(&^\[^^\\+R\]^T'!Q(?'_@'!Y)$`44'[P<`
M``````````````````````````````````#P\+P!`0&\!P?L1"`@D[P'!P?W
MDO<'!P<2'P'K!P<2`0%%!_<'````````````````````````````````````
M\?"\`0$!1;P'!VWI("!&!_"\O+SO\?"\ZA\4[P>21`$!1>_W!P``````````
M`````````````````````````/'PO`$!`1^3!P?OZD4@(/E&[?<';R`@Z>D4
M]P?O%`$!`47O]P<```````````````````````````````````#Q\?`!`0$?
M'^X'!P?M$T;Y1N\'!V\@($03[P?O$@$!`0%%[Y+O[P>\]```````````````
M````````````````\?'P`0$!'Q\?[[P'!^_L$Q)M[/@2%.J2!P<'$@$!`0$!
M1>^2!_#O[.R2\0```````````````````````````/'Q\`$!`1\?'Q]OO`<'
M!P<'[_?W[P<'!P>\DQ\?`0$!`47OD@?Q\+P'[_<'````````````````````
M``````#Q\?$!`0$?'Q\?($:3![P'!P<'!P<'O+SO11\?'P$!`0%%[Y+O\/"\
M!P<'O+P`````````````````````````\?+Q`0$!'Q\?'R`@("!&D^\'![P'
MDT8@(!\?'Q\!`0$!1??M[[SPO`?O[P?S\@```````````````````````/'R
M\`$!`1\?'Q\@("`@(/E&!P<';R`@("`?'Q\?`0$!`47W[>_P\+P'[^_W[_/Q
M``````````````````````#Q\O`!`0$?'Q\?("`@("#Y1@<'O&\@("`@'Q\?
M'P$!`0%%]^WW\?`'!^_O]Y+OO/(`````````````````````\?*\`0$!'Q\?
M'R`@("`@^48'![QO("`@(!\?'Q\!`0$!1??LDO&\!P?O[_>2[>_O````````
M`````````````/'RO`$!`1\?'Q\@("`@(/D7!P>\;R`@("`?'Q\?`0$!`462
M[._PO`<'[^_W[>SLDO,```````````````````#Q\@<!`0$!`0$?'Q\?("`@
M1@<'\&X@'Q\?'P$!`0$!`0%$DNSO\+P'!^_ODNWL[.\'````````````````
M````\?$']^_O[^\'!^^2[^_O!^X'O/"\O`<'[P<'[KSPO.[O]^WL[_"\!P?O
M]Y+M[.SO!P```````````````````/#Q\/"\!P<'[^_O]^_O[P<'![R\\/'R
M\O'PO`<'[^_WDNWL[._PO`<'[_>2[>SL[_(```````````````````"\\+P'
M!P<'O`?O[^_O[^\'![R\\/#P\?&\O`<'!P?O[_>2[>WW\+P'[^_WDNWL[/?Q
M``````````````````#Q$D1$1$3L]`````````````````#T\O/S!P?O[^_O
M!P?O\+SL;?>\!^_O]Y+M[/CM!P````````````````#T;1%#1$3J]```````
M`````````````+ST]/3T\_'PO`?O[^_S!VWL]P?LZ^WW[Y+L[)(`````````
M````````["(10T1$\`````````````````````#W\O3T]//Q\+P'[^_W[_+O
M$NUM!P``````\NWL````````````````[T,B0T1$[P``````````````````
M````[?#T]/3R\?"\!^_ODI('!^T3\@``````````!P``````````````\401
M(D1$;@````````````````````````?P]/3T\O'P!P?O[Y+M]_`'[/<`````
M````````````````````]!)#0T1$2O0```````````````````````#RO/3T
M]/+Q\`<'[_>2[&WO\VWX`````````````````````````/A#0T-$1+P`````
M`````````````````````//T]//R\;P'!^_W[6WT\N_RZO,`````````````
M`````````.]#0T-$1!P```````````````````````````#T\_3S\O&\!P?O
M]_@`````O/3O`````````````````````._O0T-$1.P`````````````````
M`````````````/#R\_+PO`<'[Y('``````#R``````````````````````#M
M$A)$1&WT``````````````````````````````#P[_#R\+P'[^^2````````
M`/0`````````````````````\Y+Q\NWQ````````````````````````````
M``````?M!_"\!^_O]P````````````````````````````````#R[._Q````
M````````````````````````````````O.\'O`?O[^\`````````````````
M``````````````````````````````````````````````````````````#S
M\/"\!^_O````````````````````````````````````````````````````
M``````````````````````````#S]/+R!_(`````````````````````````
M``````````````````````````````````````````````````````#S\?#P
M`````````````````````````/____'______\?_P'_^7___@_\`'_@?__^!
M_@`/\!___\#X``/@'___X/```>`?___@8```P#____````!`/___^``````_
M___\`````'____P`````_____`````'____X`````_____@````#____\```
M``'____P`````?___^`````!____X`````#____@`````/___^``````____
MX`````#____@`````/___^``````____X`````#____@`````/___^``````
M____X`````#____@`````/___^``````____X`````#____@`````/___^``
M````____X`````#____@`````/___^``````____X`````#____@``````__
M_^```````___X``````!___@``````#__^```````'__X```````/__@````
M```?_^```````!__X```````#__@```````/_^````````__X```````#__@
M```````/_\`__@````__@'__````#_^`__\```^/_P'__P``'^_^`___```?
M__P#__\``!___`?__X``#__X#___@`>/__`?___`!]__\!___\`/[__P/___
MX`____A____P#_________@/_________@?_________A___*````%H```"T
M`````0`(``````!8(````````````````0````$``````````(```(````"`
M@`"`````@`"``("```#`P,``P-S``/#*I@`$!`0`"`@(``P,#``1$1$`%A86
M`!P<'``B(B(`*2DI`%5550!-34T`0D)"`#DY.0"`?/\`4%#_`),`U@#_[,P`
MQM;O`-;GYP"0J:T````S````9@```)D```#,```S````,S,``#-F```SF0``
M,\P``#/_``!F````9C,``&9F``!FF0``9LP``&;_``"9````F3,``)EF``"9
MF0``F<P``)G_``#,````S#,``,QF``#,F0``S,P``,S_``#_9@``_YD``/_,
M`#,````S`#,`,P!F`#,`F0`S`,P`,P#_`#,S```S,S,`,S-F`#,SF0`S,\P`
M,S/_`#-F```S9C,`,V9F`#-FF0`S9LP`,V;_`#.9```SF3,`,YEF`#.9F0`S
MF<P`,YG_`#/,```SS#,`,\QF`#/,F0`SS,P`,\S_`#/_,P`S_V8`,_^9`#/_
MS``S__\`9@```&8`,P!F`&8`9@"9`&8`S`!F`/\`9C,``&8S,P!F,V8`9C.9
M`&8SS`!F,_\`9F8``&9F,P!F9F8`9F:9`&9FS`!FF0``9IDS`&:99@!FF9D`
M9IG,`&:9_P!FS```9LPS`&;,F0!FS,P`9LS_`&;_``!F_S,`9O^9`&;_S`#,
M`/\`_P#,`)F9``"9,YD`F0"9`)D`S`"9````F3,S`)D`9@"9,\P`F0#_`)EF
M``"99C,`F3-F`)EFF0"99LP`F3/_`)F9,P"9F68`F9F9`)F9S`"9F?\`F<P`
M`)G,,P!FS&8`F<R9`)G,S`"9S/\`F?\``)G_,P"9S&8`F?^9`)G_S`"9__\`
MS````)D`,P#,`&8`S`"9`,P`S`"9,P``S#,S`,PS9@#,,YD`S#/,`,PS_P#,
M9@``S&8S`)EF9@#,9ID`S&;,`)EF_P#,F0``S)DS`,R99@#,F9D`S)G,`,R9
M_P#,S```S,PS`,S,9@#,S)D`S,S,`,S,_P#,_P``S/\S`)G_9@#,_YD`S/_,
M`,S__P#,`#,`_P!F`/\`F0#,,P``_S,S`/\S9@#_,YD`_S/,`/\S_P#_9@``
M_V8S`,QF9@#_9ID`_V;,`,QF_P#_F0``_YDS`/^99@#_F9D`_YG,`/^9_P#_
MS```_\PS`/_,9@#_S)D`_\S,`/_,_P#__S,`S/]F`/__F0#__\P`9F;_`&;_
M9@!F__\`_V9F`/]F_P#__V8`(0"E`%]?7P!W=W<`AH:&`):6E@#+R\L`LK*R
M`-?7UP#=W=T`X^/C`.KJZ@#Q\?$`^/CX`/#[_P"DH*``@("`````_P``_P``
M`/__`/\```#_`/\`__\``/___P``````````````````````````````````
M`````````````````````/+P\0``````````````````````````````````
M``````````````````````````````````````````````````#T\>SQ````
M`````````````````````/*\O+P'\/(`````````````````````````````
M````````````````````````````````````````````````````\?/O$I(`
M`````````````````````/,'O/"\O`<'![SQ````````````````````````
M`//S\_3S\P```````````````````````````````````````````/+P\1,5
M$>\```````````````````"\!_'P\+R\!P<'!^^\\P``````````````````
M`/3R\`<'!_3T````````````````````````````````````````````\/!M
M1$,B$_$```````````````#T!_#Q\?#PO+P'!P<'[^_OO```````````````
M``#T\0?O!P?R]/,```````````````````````````````````````````#T
M[T1$0R)#;?0`````````````\0?R\?'PO`>\!P<'[N_O[^_O[_,`````````
M````]/('[P<'\`#S\0``````````````````````````````````````````
M``#T;41$0T,B[0```````````+SP\O+Q\0=OD[P'!P?OD^_O[_?W[_``````
M``````#S!^\'![P`]/'P````````````````````````````````````````
M``````#S2D1$0R)$!P```````//P\?+R\O"31OF3O`<'!^\@;^_O]_?O[[ST
M````````]`?O!P<']/3R!_,`````````````````````````````````````
M``````````#O1$1#(D,3\@````#R\/'Q\O(';R#Y^9,'!P<'[R`@1I/W[^_O
M[P?S``````#Q[P<'!_/T\_'O````````````````````````````````````
M``````````````#L1$1#0Q'K````\KSP\?+R[T8@(/GYDP<'!P>3("`@(&_W
M[^_O![SS````\N\'!P?Q]//Q![P`````````````````````````````````
M`````````````````/1M1$1#(D/M`/*\\/#QO&\@("`@^?F3!P<'!Y,@("`@
M($8<[^\'![SS`/,'[P<'O/3S\O#O\P``````````````````````````````
M`````````````````````/!$1$0B$>KPO+SP\>Y&("`@("#Y^9,'!P<'DR`@
M("`@(!]O[P<'![SQ!^\'!P?T\_+P!P<`````````````````````````````
M`````````````````````````.]$1$-$[P>\O/`'1B`@("`@(/GYDP<'!P?O
M("`@("`@'Q]O![P'O+P'!P<'\_3R\;P']```````````````````````````
M`````````````````````````````&Y$1.\'![SP!^D@("`@("`@^?F3!P<'
M!Y,@("`@("`?'Q]O\[R\O/`'!_+T\O&\!_,`````````````````````````
M````````````````````````````````].KW!P<'O`?I("`@("`@("#Y^9,'
M!P<'[R`@("`@(!\?'Q]O![R\\+P']//Q\`?Q````````````````````````
M````````````````````````````````````!P<'![SOZ1\@("`@("`@(/GY
MDP<'[^^3("`@("`@'Q\?'Q]%!_#P\;R\\?`'\```````````````````````
M`````````````````````````````````````/`'!P<'!^D?'R`@("`@("`@
M^?F3!P?O[Y,@("`@("`?'Q\?'P%%!_#Q\0<'O/``````````````````````
M``````````````````````````````````````#R!^\'!P=%'Q\?("`@("`@
M("#Y^9,'!^_O'"`@("`@(!\?'Q\?`0%NO/'Q\N_P````````````````````
M``````````````````````````````````````````?O[P<';A\?'Q\@("`@
M("`@(/GYDP?O[^\<("`@("`@'Q\?'Q\!`0%N\/'R\;P`````````````````
M``````````````````````````````````````````#Q[^\'!Y,?'Q\?'R`@
M("`@("`@^?F3!^_O[Y(@("`@("`?'Q\?'P$!`0'M\?+R!P``````````````
M``````````````````````````````````````````````?O[P<'`1\?'Q\?
M("`@("`@("#Y^9,'[^_O[2`@("`@(!\?'Q\?`0$!`44'\O+Q\```````````
M``````````````````````````````````````````````#P[^_O!VX!'Q\?
M'Q\@("`@("`@("!&;FUM;6WJ147I("`@'Q\?'Q\!`0$!`6[R\?&\]```````
M``````````````````````````````````````````````````?O[^\'`0$?
M'Q\?'R`@("`@1403;>OL[.SL[.SL^&WJ$T0?'Q\?'P$!`0$!`>_Q\/#P````
M``````````````````````````````````````````````````#R[^_O!T4!
M`1\?'Q\?("`@;FWKDN_O[^_O[^_O[^_O[^_L1!\?'Q\?`0$!`0$!;O#PO/``
M``````````````````````````````````````````````````````?O[^_N
M`0$!'Q\?'Q\@1;R\[^\'!P<'!P<'!P<'!P<'!Y)$'Q\?'Q\!`0$!`0$!!_"\
MO/0`````````````````````````````````````````````````````!^_O
M[P<!`0$?'Q\?Z>_P!P<'!P<'O/#P!P<'!P>\\?"\]T0?'Q\?'P$!`0$!`0'O
M\+P'\@`````````````````````````````````````````````````````'
M[^\'[P$!`1\?'Q\'O`<'!P>\\.]O1I/O[^_O;B`@1F[M1!\?'Q\?`0$!`0$!
M`9+PO`?R````````````````````````````````````````````````````
M`._O[[QN`0$!'Q\?![P'!P<'\.]&(/GYD^_O[_?L("`@("`@'Q\?'Q\!`0$!
M`0$!;KR\!_(`````````````````````````````````````````````````
M````[^_O\$4!`0$?'P>\!P?O]_=&("`@^?F3[^_O]^P@("`@("`?'Q\?'P$!
M`0$!`0%%O`<'\@``````````````````````````````````````````````
M``````#O[^_P10$!`1]N\`<'!^T3("`@("#Y^9/L^.SW["#KZA(2ZNKJZNKJ
MZA,!`0$!`46\!P?Q````````````````````````````````````````````
M``````````?O!_!%`0$!1?`'!P?W$^D@("`@($43ZFWX;1(2(._O[^_O[^_O
M[^_O[1,!`0$!1;P'!_$`````````````````````````````````````````
M````````````!^\'O$4!`0'OO`<'[VU%("`@("`3^)+L;>IM^/CK[P<'!P<'
M!P<'!P?O;0$!`0%%O`<'\0``````````````````````````````````````
M```````````````'[P>\10$!`?`'!P?M$R`@("#I$^WL[)+O[P?O^.KO!P?O
MDN\'[KP'!^_L1`$!`44'!P?Q````````````````````````````````````
M``````````````````<'![Q%`0%N\`<'[VT?("`@(!+M[)+M[.SL[)('[Q+W
M!^_J'Q\?;KP'!_<3`0$!10<'!_$`````````````````````````````````
M````````````````````!P<'O$4!`0<'!P?W$R`@("#L]_?W[??O[^_W]P?P
M!Q+O[Q(?'Q]%\`<'[VT>`0%N!P<'\0``````````````````````````````
M```````````````````````'!P>\1`$!\0<'[^Q$("`@;KSO[Y+O![R\O`<'
M![SQ[VWO$Q\?'Q^\!P?O[$0!`6X'!^_P````````````````````````````
M``````````````````````````<'![QN143Q!P?OZT1%147N!P?W![SP\/#P
M\+R\O+R\Z_<2145%1>\'!P?W$T5%;@<'[_``````````````````````````
M````````````````````````````!P<'O+R\[_$'!^]M!P<'[_$'[P>\\/'Q
M\?'Q\+R\!^_W[!('!P<'[[P'!_<2O+R\!P?O\```````````````````````
M```````````````````````````````'!P>\\/#W\0<'[^KP\+SW\`?OO/#Q
M\O+S\O+Q\+SODN]M$KSP\/'O\`<'[Q*\O`<'[^_P````````````````````
M``````````````````````````````````<'O+SP\9+P!P?OZO"\O.^\[^^\
M\/+S\_3S\_+QO`?M[VT2\/#Q\0?P!P?O$[P'!P?O[_``````````````````
M````````````````````````````````````O`>\O/#Q[_`'!^]M\+R\[_#O
M[_#Q\O/T]/3S\O'P!^T'[!+P\/'Q![P'!^\2O`<'!^_OO```````````````
M``````````````````````````````````````"\![R\\/`'\`<'[VWO!P<'
M\`?W\/'R\_3T]//R\?`'[>_W$KR\O+P'O`<'[Q('!P<'[^^\````````````
M`````````````````````````````````````````+P'O`=%147Q!P?O[$5&
M1D:\!Y*\\/'R\_3S\O+PO._M]^\31D5%1>V\!P?O$T5%;P?O[[P`````````
M````````````````````````````````````````````O+R\!T0!`;P'!P>2
M$R`@(.V\[^_P\?+R\O+R\?"\[^_W[Q,?'Q\?[P<'!_<4`0%N!^_OO```````
M``````````````````````````````````````````````#PO/`'1`$![P<'
M!^_JZ2`@1O$']P?P\?'Q\?'PO`?W[0?O$Q\?'Q_P!P?O[$0!`6X'[_>\````
M`````````````````````````````````````````````````/"\\`=$`0%%
M\`<'[^Q$("`@;_`'[^_P\/#P\+P'DNT'!^\3'Q\?1;P'!^]M`0$!;N_O][P`
M````````````````````````````````````````````````````\+SP!T0!
M`0&\!P<']Q,@("`@[[P'!^\'!P?O]Y*2!P<'[Q,?'Q\2[P<']Q0!`0%N[^_W
M!P````````````````````````````````````````````````````#PO/"\
M1`$!`6[P!P?O[!,@("`@[_&\!_+P!^\'![P'!P?O$B`?1/CO!^_K1`$!`6[O
M[_<'`````````````````````````````````````````````````````/#P
M\+Q$`0$!`?>\!P?O^$0@("`@1N_Q\+R\O/`'[_'PO`?J(!_J[P<'DA,!`0$!
M;N_W]P<`````````````````````````````````````````````````````
M\?#QO$0!`0$!`;P'!P?OZT0@("`@^48<DO?O]Y-&;FYN;D7I$Y('!^_J`0$!
M`0%N[_>2!P``````````````````````````````````````````````````
M``#Q\/&\1`$!`0$?1?`'!P?O^!/I("#Y^6_O[P<''"`@("`@11*2!P?OZT0!
M`0$!`6[O]Y('\P``````````````````````````````````````````````
M`````/'P\;Q$`0$!`1\?[?$'!P?ODFT31OGY;^_O!P<<("`@11-M]P<'[^M$
M`0$!`0$!;N_WD@?O[^\'\0``````````````````````````````````````
M````````\?#Q\$0!`0$!'Q\?;O"\!P<'[^WJ$T1NDN\'!_A%1!/KDN\'!P?X
M1`$!`0$!`0%N[_>2!_$']^WL[0?T````````````````````````````````
M``````````#Q\?'P1`$!`0$?'Q\?10?P!P<'!^_W[>SK;>KJ;?CL]^\'!P>\
M!T0?`0$!`0$!`6[ODI('\?'PO.^2[9('````````````````````````````
M`````````````/'Q\O!%`0$!`1\?'Q\@'^WQO`<'!P<'[^_O[^_O[P<'!P>\
M\/<?'Q\!`0$!`0$!;O>2[0?Q\?"\!P?O[^\']```````````````````````
M````````````````\?'R\$4!`0$!'Q\?'R`@($;MO/"\!P<'!P<'!P<'!P?P
M\0=%'Q\?'P$!`0$!`0%N]Y+M!_#Q\+P'!P?O![R\]```````````````````
M``````````````````#Q\?+P10$!`0$?'Q\?("`@("`@19.\\/'Q\/#P\/&\
M[V[I("`?'Q\?`0$!`0$!`6[WDNT'O/#PO`<'[^_OO/+Q]```````````````
M`````````````````````/'R\O!%`0$!`1\?'Q\@("`@("`@(/GY;Y*2]^_M
M("`@("`@(!\?'Q\!`0$!`0$!;O?M[>\'\/"\!P?O[^_W\0#T````````````
M````````````````````````\?+R\$4!`0$!'Q\?'R`@("`@("`@^?EO!P<'
MO!P@("`@("`@'Q\?'P$!`0$!`0%N]^WM[_#PO+P'!^_O[_>2\//Q````````
M``````````````````````````#Q\O+P10$!`0$?'Q\?("`@("`@("#Y^6\'
M!P>\'"`@("`@("`?'Q\?`0$!`0$!`462[>SW\?"\O`<'[^_O]Y+MO/#R````
M`````````````````````````````/'R\KQ%`0$!`1\?'Q\@("`@("`@(/GY
M;P<'![P<("`@("`@(!\?'Q\!`0$!`0$!19+M[)+Q\+P'!P?O[_?WDNV2!^\`
M````````````````````````````````\?+RO$4!`0$!'Q\?'R`@("`@("`@
M^?EO!P<'O),@("`@("`@'Q\?'P$!`0$!`0%%DNWL]_'PO`<'!^_O]_>2[>R2
M][P```````````````````````````````#Q\O*\10$!`0$?'Q\?("`@("`@
M("#Y^6\'!P>\DR`@("`@("`?'Q\?`0$!`0$!`462[.SO\?"\!P<'[^_WDI+M
M[.SMD@```````````````````````````````/'R\0=%`0$!`1\?'Q\?("`@
M("`@(/GYDP<'O+SO("`@("`@(!\?'Q\!`0$!`0$!19+L[._Q\+P'!P?O[_>2
MDNWL[/?O````````````````````````````````\?+Q!T4>(T0C(R-$145$
M`45%145%1463!P>\\.]%145%145%145%145$1$1$1$1N[>SL[_#PO`<'[^_O
M]Y+M[>SL]P?P``````````````````````````````#P\O$'[^\'!P<'!P<'
M!^_W]_?O[^\'![P'![SP\+R\!P?O[^\'!P>\\/'P\+P'[_?M[.SO\/"\!P?O
M[^_WDNWM[.SM\;P``````````````````````````````/#Q\?#PO+P'!P<'
M[^_O[_?W[^_O[P<'!P<'O+SP\/'Q\O+Q\/"\!P<'[^_O]Y*2[>SL[._PO+P'
M!^_O[_>2[>SL[.SS\0````````````````````````````#T\/'Q\/"\O`<'
M!P<'[^_O]_?O[^_O!P<'![R\\/#Q\?+R\O'P\+P'!P?O[^_WDI+M[.SL[_"\
MO`<'[^_O]Y+M[.SL^//R```````````````````````````````'!P<'[^\'
M!P>\\?`'!^_O[^_O[^\'!P>\\/#Q\/#P\+P'!P<'!P<'!P<'[^_O]_?M[>WO
M![P'!P?O[_?WDNWL[.SX!_``````````````````````````````O!(4%41$
M1$1N\/0```````````````````````#T\_+S\_('[_>2DI*2[P<'!^\'\KR2
M;?B2!P<'!^_O]_>2[>SL^/CO!P```````````````````````````/+J$")#
M(D1$1`<```````````````````````````#S\/3T]/3T]//R\?"\!P?O[Y*\
M``?L$^R2!P<'DFUMZ_CK[.SX^)+O````````````````````````````^!`1
M(D-$1$0<`````````````````````````````/$']/3T]/3S\O+Q\+P'!^_O
M]_?P]._K$Y*2[^KX!P````#Q!_?X[.T``````````````````````````!Q$
M$")#(D1$;O0`````````````````````````````\/?T]/3T]//R\?'PO`<'
M[^_W]^_R\O=MZO@2\```````````]._L[0````````````````````````"\
M$Q`10T-$1$KT``````````````````````````````#P[/'T]/3T\_+Q\/"\
M!P?O[_>2D@?T!^SJZ_0```````````````?O````````````````````````
M`!(1(B)#1$1$\````````````````````````````````/+MO/3T]/3S\O'P
MO+P'!^_O]Y+MDKP'^.P3]P``````````````````````````````````````
M`/3K0Q!#0T1$1!P`````````````````````````````````].\']/3T]//R
M\?"\!P<'[^_WDNWM]_#T[^N2````````````````````````````````````
M````[1`10R)$1$3L````````````````````````````````````\+ST]/3T
M\_+Q\+P'!^_O[_>2[!+L[_*\%6T`````````````````````````````````
M``````=$$2)#1$1$;?(```````````````````````````````````#T\O3T
M]/3S\O'PO`<'[^_O]^T3[`#O[0?O%/$`````````````````````````````
M``````#P$A`10T-$1$J\````````````````````````````````````````
M]/3T]//R\?"\!P?O[_?WZNT`````]_#W[0``````````````````````````
M`````````.LB$2)#1$1$[P``````````````````````````````````````
M``#S]/3T\_+Q\+P'!^_O]^SL````````!_*2````````````````````````
M`````````/`'$B(B0T1$1/CU````````````````````````````````````
M`````/'P]//S\O'PO`<'[^_W^/0`````````\?/P````````````````````
M````````````[.\20R)$1$1N````````````````````````````````````
M````````\0>\\_+R\?"\!P?O[_>2````````````]```````````````````
M``````````````#W$FUM1$1$2O(`````````````````````````````````
M````````````!^\'\O'P\+P'!^_ODO``````````````````````````````
M``````````````````"2!_'Q'&WO````````````````````````````````
M``````````````#T]^WO\?"\O`<'[^_M\P``````````````````````````
M`````````````````````/22O/+R\0``````````````````````````````
M``````````````````#T[^_O\+P'!P?O[Y+T````````````````````````
M``````````````````````````"\[`?Q````````````````````````````
M``````````````````````#TO`<'O`<'!^_O]_0`````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````\O#Q\`?O[^_W\@``````````````````
M````````````````````````````````````````````````````````````
M`````````````````````````````````//S]/*\[_<'````````````````
M````````````````````````````````````````````````````````````
M``````````````````````````````````````#S]/3T\@<`````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````]/'P\/(`````````
M``````````````````````````#______X_______\#__P___@/______\#_
M_@__^`#__^!__\#__`?_\``__X!__\#__`/_P``?_P!__\#__`'_@``'_@)_
M_\#__@'_```#_@1__\#__P#\````_`!__\#__X!X````?`#__\#__\!P````
M.`#__\#__\`@````$`#__\#__^````````'__\#___````````'__\#___@`
M``````/__\#___@```````?__\#___P```````___\#___@``````!___\#_
M__```````#___\#___```````#___\#__^```````#___\#__^```````!__
M_\#__\````````___\#__\````````___\#__X````````___\#__X``````
M``?__\#__X````````?__\#__X````````?__\#__X````````?__\#__X``
M``````?__\#__X````````?__\#__X````````?__\#__X````````?__\#_
M_X````````?__\#__X````````?__\#__X````````?__\#__X````````?_
M_\#__X````````?__\#__X````````?__\#__X````````?__\#__X``````
M``?__\#__X````````?__\#__X````````?__\#__X````````?__\#__X``
M``````?__\#__X````````?__\#__X````````?__\#__X````````?__\#_
M_X````````?__\#__X````````?__\#__X````````?__\#__X````````/_
M_\#__X`````````__\#__X`````````'_\#__X`````````#_\#__X``````
M````_\#__X``````````?\#__X``````````/\#__X``````````O\#__X``
M````````'\#__X``````````#\#__X``````````#\#__X``````````!\#_
M_X``````````!\#__X``````````!\#__X```````````\#__X``````````
M`\#__X```````````\#__P```````````\#__X```````````\#__P`?__@`
M`````\#__@!___P``$```\#__@#___P````/`\#__`#___P````_P\#_^`'_
M__P```!_\\#_^`/___P```!__\#_X`?___P```!__\#_X`____X```!__\#_
MP`____X``!`__\#_@!____^``#P__\#_@#____^``'X__\#^`#____^``'\?
M_\#^`/____^``/^__\#^`/_____``/___\#_`?_____``/___\#_`______@
M`/___\#_P______P`/___\#________\`/___\#_________`/___\#_____
M____P/___\#_________\'___\`H````%@```"P````!``@``````!`"````
M```````````!`````0``````````@```@````("``(````"``(``@(```,#`
MP`#`W,``\,JF``0$!``("`@`#`P,`!$1$0`6%A8`'!P<`"(B(@`I*2D`5555
M`$U-30!"0D(`.3DY`(!\_P!04/\`DP#6`/_LS`#&UN\`UN?G`)"IK0```#,`
M``!F````F0```,P``#,````S,P``,V8``#.9```SS```,_\``&8```!F,P``
M9F8``&:9``!FS```9O\``)D```"9,P``F68``)F9``"9S```F?\``,P```#,
M,P``S&8``,R9``#,S```S/\``/]F``#_F0``_\P`,P```#,`,P`S`&8`,P"9
M`#,`S``S`/\`,S,``#,S,P`S,V8`,S.9`#,SS``S,_\`,V8``#-F,P`S9F8`
M,V:9`#-FS``S9O\`,YD``#.9,P`SF68`,YF9`#.9S``SF?\`,\P``#/,,P`S
MS&8`,\R9`#/,S``SS/\`,_\S`#/_9@`S_YD`,__,`#/__P!F````9@`S`&8`
M9@!F`)D`9@#,`&8`_P!F,P``9C,S`&8S9@!F,YD`9C/,`&8S_P!F9@``9F8S
M`&9F9@!F9ID`9F;,`&:9``!FF3,`9IEF`&:9F0!FF<P`9IG_`&;,``!FS#,`
M9LR9`&;,S`!FS/\`9O\``&;_,P!F_YD`9O_,`,P`_P#_`,P`F9D``)DSF0"9
M`)D`F0#,`)D```"9,S,`F0!F`)DSS`"9`/\`F68``)EF,P"9,V8`F6:9`)EF
MS`"9,_\`F9DS`)F99@"9F9D`F9G,`)F9_P"9S```F<PS`&;,9@"9S)D`F<S,
M`)G,_P"9_P``F?\S`)G,9@"9_YD`F?_,`)G__P#,````F0`S`,P`9@#,`)D`
MS`#,`)DS``#,,S,`S#-F`,PSF0#,,\P`S#/_`,QF``#,9C,`F69F`,QFF0#,
M9LP`F6;_`,R9``#,F3,`S)EF`,R9F0#,F<P`S)G_`,S,``#,S#,`S,QF`,S,
MF0#,S,P`S,S_`,S_``#,_S,`F?]F`,S_F0#,_\P`S/__`,P`,P#_`&8`_P"9
M`,PS``#_,S,`_S-F`/\SF0#_,\P`_S/_`/]F``#_9C,`S&9F`/]FF0#_9LP`
MS&;_`/^9``#_F3,`_YEF`/^9F0#_F<P`_YG_`/_,``#_S#,`_\QF`/_,F0#_
MS,P`_\S_`/__,P#,_V8`__^9`/__S`!F9O\`9O]F`&;__P#_9F8`_V;_`/__
M9@`A`*4`7U]?`'=W=P"&AH8`EI:6`,O+RP"RLK(`U]?7`-W=W0#CX^,`ZNKJ
M`/'Q\0#X^/@`\/O_`*2@H`"`@(````#_``#_````__\`_P```/\`_P#__P``
M____``````#Q\P```//P\@````#S]`````````````!*Z@``\NZ\!^_S`/('
M\P````````````#N1.WPD_GN;V\'\P?R\0``````````````[>]O(/D';R!%
MO/'P````````````````!VX?(/D';R`?1?#T``````````````#T!Q\?16[X
MZT0?`0?S``````````````#P[Q_L!QR2;D4?`6[Q``````````````"\'&[M
MZ47KZ^SLZD6\``````````````#P'.\2;O?P!^M%[$6\``````````````#P
M\`?M]_#T\>R\[^\'``````````````#QD^]M[0?QO/AN[VX'````````````
M``#Q'&[M1??W]^MM^$4'``````````````#R'`'M[$7W;FV21$7O\?,`````
M``````#R'`$?;O?O!^Q%`47O\`?P``````````#S'`$?("`';R`?`47WO._O
M\0````````#S[45%1D;NDT9%16Z2O._M[P````````#N[^\'[P?P\?"\!^_M
MO._M[P```````/-$$O,`````\O3R!_<'[^\'[0```````!)$[@``````\O3R
M!_>2D@``````````DD3M`````````/3Q!^WR!_,`````````[Y(`````````
M`/('!P<`````````````````````````````\KP``````````/.//`#S`CP`
M\``\`/@`?`#X`'P`\`!\`/``?`#P`'P`\`!\`/``?`#P`'P`\`!\`/``'`#P
C``P`\``$`/``!`#P``0`X>`$`./@/`#'\!P`S_#\`/_\_```
`
end

View File

@@ -12,6 +12,7 @@
#define IDI_WINHACK 107
#define IDC_WINHACK 109
#define IDC_SPHONE_DIALOGBAR 111
#define IDC_SPHONE_TEXTDIALOGBAR 112
#define IDR_MAINFRAME 128
#define IDB_TILES 129
#define IDD_TEXT 130
@@ -110,6 +111,7 @@
#define IDC_ABOUT_VERSION 1327
#define IDC_TEXT_CONTROL 1331
#define IDC_ABOUT_COPYRIGHT 1332
#define IDC_TEXT_TOGGLE_WRAP 1333
#define IDM_SAVE 32771
#define IDM_HELP_LONG 32772
#define IDM_HELP_COMMANDS 32773
@@ -147,6 +149,9 @@
#define IDM_HELP_MENU 32828
#define IDM_VIEW_OPTIONS 32829
#define IDM_DIRECT_COMMAND 32830
#define IDM_CMD_DLG 32832
#define IDS_TEXT_WRAP 32833
#define IDS_TEXT_UNWRAP 32834
// Next default values for new objects
//

View File

@@ -173,12 +173,14 @@ void mswin_popup_display(HWND popup, int* done_indicator);
void mswin_popup_destroy(HWND popup);
#if defined(WIN_CE_SMARTPHONE)
void NHSPhoneDialogSetup(HWND hDlg, BOOL is_edit, BOOL is_fullscreen);
void NHSPhoneDialogSetup(HWND hDlg, UINT nToolBarId, BOOL is_edit, BOOL is_fullscreen);
#endif
void mswin_read_reg(void);
void mswin_destroy_reg(void);
void mswin_write_reg(void);
BOOL mswin_has_keyboard(void);
void mswin_set_fullscreen(BOOL is_fullscreen);
#endif /* WINmswin_H */

View File

@@ -67,11 +67,7 @@ int APIENTRY WinMain(HINSTANCE hInstance,
_nethack_app.bNoHScroll = FALSE;
_nethack_app.bNoVScroll = FALSE;
#if defined(WIN_CE_PS2xx) || defined(WIN_CE_POCKETPC) || defined(WIN_CE_SMARTPHONE)
_nethack_app.bCmdPad = TRUE;
#else
_nethack_app.bCmdPad = FALSE;
#endif
_nethack_app.bCmdPad = !mswin_has_keyboard();
_nethack_app.bWrapText = TRUE;
_nethack_app.bFullScreen = TRUE;

View File

@@ -160,11 +160,12 @@ BEGIN
PUSHBUTTON "Quit",IDCANCEL,55,110,50,14
END
IDD_NHTEXT DIALOG DISCARDABLE 0, 0, 83, 97
IDD_NHTEXT DIALOG DISCARDABLE 0, 0, 100, 97
STYLE WS_CHILD | WS_BORDER
FONT 8, "System"
BEGIN
DEFPUSHBUTTON "OK",IDOK,15,80,50,14
DEFPUSHBUTTON "OK",IDOK,0,80,50,14
PUSHBUTTON "Wrap",IDC_TEXT_TOGGLE_WRAP,50,80,50,14
EDITTEXT IDC_TEXT_CONTROL,5,0,70,75,ES_MULTILINE | ES_READONLY |
WS_VSCROLL | WS_HSCROLL
END
@@ -283,8 +284,8 @@ END
//
VS_VERSION_INFO VERSIONINFO
FILEVERSION 3,4,1,0
PRODUCTVERSION 3,4,1,0
FILEVERSION 3,5,0,0
PRODUCTVERSION 3,5,0,0
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
FILEFLAGS 0x9L
@@ -304,10 +305,10 @@ BEGIN
VALUE "FileDescription", "nethackm\0"
VALUE "FileVersion", "3, 5, 0, 0\0"
VALUE "InternalName", "nethackm\0"
VALUE "LegalCopyright", "Copyright © 2005\0"
VALUE "LegalCopyright", "Copyright © 1985-2009\0"
VALUE "LegalTrademarks", "\0"
VALUE "OriginalFilename", "nethackm.exe\0"
VALUE "PrivateBuild", "050102\0"
VALUE "PrivateBuild", "090914\0"
VALUE "ProductName", "NetHack\0"
VALUE "ProductVersion", "3, 5, 0, 0\0"
VALUE "SpecialBuild", "\0"
@@ -345,6 +346,8 @@ STRINGTABLE DISCARDABLE
BEGIN
IDM_VIEW_KEYPAD "Show/Hide keypad."
IDS_CAP_VIEW "View"
IDS_TEXT_WRAP "Wrap"
IDS_TEXT_UNWRAP "Unwrap"
END
STRINGTABLE DISCARDABLE

View File

@@ -42,11 +42,11 @@ BEGIN
BEGIN
MENUITEM "Options", IDM_VIEW_OPTIONS
MENUITEM "Keypad", IDM_VIEW_KEYPAD
MENUITEM SEPARATOR
MENUITEM "Entire Map", IDM_MAP_FIT_TO_SCREEN
MENUITEM "Cmd", IDM_CMD_DLG
MENUITEM SEPARATOR
MENUITEM "ASCII", IDM_MAP_ASCII8X8
MENUITEM "Use Tiles", IDM_MAP_TILES
MENUITEM SEPARATOR
MENUITEM "Tiles", IDM_MAP_TILES
MENUITEM SEPARATOR
MENUITEM "Help", IDM_HELP_MENU
MENUITEM "Save", IDM_SAVE
MENUITEM "Quit", IDM_EXIT
@@ -59,7 +59,6 @@ BEGIN
MENUITEM "Cancel", IDCANCEL
END
/////////////////////////////////////////////////////////////////////////////
//
// Accelerator
@@ -245,6 +244,14 @@ BEGIN
NOMENU,
END
IDC_SPHONE_TEXTDIALOGBAR SHMENUBAR DISCARDABLE
BEGIN
IDC_SPHONE_DIALOGBAR, 2,
I_IMAGENONE, IDOK, TBSTATE_ENABLED, TBSTYLE_AUTOSIZE, IDOK, 0, NOMENU,
I_IMAGENONE, IDC_TEXT_TOGGLE_WRAP, TBSTATE_ENABLED, TBSTYLE_AUTOSIZE, IDS_TEXT_WRAP, 0,
NOMENU,
END
#ifndef _MAC
/////////////////////////////////////////////////////////////////////////////
@@ -274,10 +281,10 @@ BEGIN
VALUE "FileDescription", "nethackm\0"
VALUE "FileVersion", "3, 5, 0, 0\0"
VALUE "InternalName", "nethackm\0"
VALUE "LegalCopyright", "Copyright © 2005\0"
VALUE "LegalCopyright", "Copyright © 1985-2010\0"
VALUE "LegalTrademarks", "\0"
VALUE "OriginalFilename", "nethackm.exe\0"
VALUE "PrivateBuild", "050309\0"
VALUE "PrivateBuild", "090914\0"
VALUE "ProductName", "NetHack For Smartphone\0"
VALUE "ProductVersion", "3, 5, 0, 0\0"
VALUE "SpecialBuild", "\0"
@@ -329,6 +336,8 @@ BEGIN
IDS_CAP_ENTIREMAP "Entire Map"
IDS_CAP_NORMALMAP "Normal Map"
IDM_HELP_MENU "Help Menu"
IDS_TEXT_WRAP "Wrap"
IDS_TEXT_UNWRAP "Unwrap"
END
#endif // English (U.S.) resources