{ -1, "a", "a", -NH_CMDPAD_FONT_NORMAL, NH_CELL_REG, 1, (void*)-1 },
{ -1, "q", "q", -NH_CMDPAD_FONT_NORMAL, NH_CELL_REG, 1, (void*)-1 },
{ -1, "\x04", "^D", -NH_CMDPAD_FONT_NORMAL, NH_CELL_REG, 1, (void*)-1 },
- { -1, "F", "F", -NH_CMDPAD_FONT_NORMAL, NH_CELL_REG, 1, (void*)-1 },
+ { -1, "F", "F", -NH_CMDPAD_FONT_NORMAL, NH_CELL_REG, 1, (void*)NH_LAYOUT_MOVEMENT },
{ -1, "X", "X", 13, NH_CELL_LAYOUT_MENU, 1 , 0 }
};
{ -1, "T", "T", -NH_CMDPAD_FONT_NORMAL, NH_CELL_REG, 1, (void*)-1 },
{ -1, "R", "R", -NH_CMDPAD_FONT_NORMAL, NH_CELL_REG, 1, (void*)-1 },
{ -1, "D", "D", -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, "i", "i", -NH_CMDPAD_FONT_NORMAL, NH_CELL_REG, 1, (void*)-1 },
{ -1, "[", "[", -NH_CMDPAD_FONT_NORMAL, NH_CELL_REG, 1, (void*)-1 },
{ -1, "A", "A", -NH_CMDPAD_FONT_NORMAL, NH_CELL_REG, 1, (void*)-1 },
static int menuid2mapmode(int menuid);
static int mapmode2menuid(int map_mode);
static HMENU _get_main_menu(UINT menu_id);
+static void mswin_direct_command();
HWND mswin_init_main_window () {
static int run_once = 0;
doset();
break;
+ case IDM_DIRECT_COMMAND: /* SmartPhone: display dialog to type in arbitary command text */
+ mswin_direct_command();
+ break;
+
case IDM_HELP_LONG:
display_file(HELP, TRUE);
break;
/* update "Fit To Screen" item text */
{
TCHAR wbuf[BUFSZ];
- TBBUTTONINFO tbbi;
+ MENUITEMINFO mi;
ZeroMemory( wbuf, sizeof(wbuf) );
if( !LoadString(
panic("cannot load main menu strings");
}
- ZeroMemory( &tbbi, sizeof(tbbi) );
- tbbi.cbSize = sizeof(tbbi);
- tbbi.dwMask = TBIF_TEXT;
- tbbi.pszText = wbuf;
- if( !SendMessage(
- GetNHApp()->hMenuBar,
- TB_SETBUTTONINFO,
+ ZeroMemory( &mi, sizeof(mi) );
+ mi.cbSize = sizeof(mi);
+ mi.fType = MFT_STRING;
+ mi.fMask = MIIM_TYPE;
+ mi.dwTypeData = wbuf;
+ mi.cch = wcslen(wbuf);
+ if( !SetMenuItemInfo(
+ hmenuMap,
IDM_MAP_FIT_TO_SCREEN,
- (LPARAM)&tbbi) ) {
+ FALSE,
+ &mi) ) {
error( "Cannot update IDM_MAP_FIT_TO_SCREEN menu item." );
}
}
return hmenuMap;
}
+/* SmartPhone: display dialog to type arbitrary command text */
+void mswin_direct_command()
+{
+ char cmd[BUFSZ];
+ ZeroMemory(cmd, sizeof(cmd));
+ mswin_getlin("Type cmd text", cmd);
+ if( cmd[0] ) {
+ /* feed command to nethack */
+ char *p = cmd;
+ cmd[32] = '\x0'; /* truncate at 32 chars */
+ while(*p) {
+ NHEVENT_KBD(*p);
+ p++;
+ }
+ if( cmd[0]!='\033' ) mswin_putstr(WIN_MESSAGE, ATR_NONE, cmd);
+ }
+}
//{{NO_DEPENDENCIES}}
// Microsoft Developer Studio generated include file.
-// Used by winhack.rc
+// Used by winhcksp.rc
//
#define IDC_MYICON 2
#define IDD_WINHACK_DIALOG 102
#define IDS_CAP_NORMALMAP 32827
#define IDM_HELP_MENU 32828
#define IDM_VIEW_OPTIONS 32829
+#define IDM_DIRECT_COMMAND 32830
// Next default values for new objects
//
#ifdef APSTUDIO_INVOKED
#ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NEXT_RESOURCE_VALUE 155
-#define _APS_NEXT_COMMAND_VALUE 32830
+#define _APS_NEXT_COMMAND_VALUE 32831
#define _APS_NEXT_CONTROL_VALUE 1334
#define _APS_NEXT_SYMED_VALUE 110
#endif
IDC_WINHACK MENU DISCARDABLE
BEGIN
- MENUITEM "Entire Map", IDM_MAP_FIT_TO_SCREEN
+ MENUITEM "Type Cmd", IDM_DIRECT_COMMAND
POPUP "Menu"
BEGIN
MENUITEM "Options", IDM_VIEW_OPTIONS
MENUITEM "Keypad", IDM_VIEW_KEYPAD
MENUITEM SEPARATOR
+ MENUITEM "Entire Map", IDM_MAP_FIT_TO_SCREEN
MENUITEM "ASCII", IDM_MAP_ASCII8X8
MENUITEM "Use Tiles", IDM_MAP_TILES
MENUITEM SEPARATOR
IDC_WINHACK SHMENUBAR DISCARDABLE
BEGIN
IDC_WINHACK, 2,
- I_IMAGENONE, IDM_MAP_FIT_TO_SCREEN, TBSTATE_ENABLED, TBSTYLE_AUTOSIZE, IDM_MAP_FIT_TO_SCREEN, 0, NOMENU,
+ I_IMAGENONE, IDM_DIRECT_COMMAND, TBSTATE_ENABLED, TBSTYLE_AUTOSIZE, IDM_DIRECT_COMMAND, 0, NOMENU,
I_IMAGENONE, ID_VIEW, TBSTATE_ENABLED, TBSTYLE_DROPDOWN | TBSTYLE_AUTOSIZE, IDS_CAP_VIEW, 0, 1,
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
VALUE "LegalCopyright", "Copyright © 2005\0"
VALUE "LegalTrademarks", "\0"
VALUE "OriginalFilename", "nethackm.exe\0"
- VALUE "PrivateBuild", "050102\0"
+ VALUE "PrivateBuild", "050309\0"
VALUE "ProductName", "NetHack For Smartphone\0"
VALUE "ProductVersion", "3, 5, 0, 0\0"
VALUE "SpecialBuild", "\0"
STRINGTABLE DISCARDABLE
BEGIN
IDM_MAP_FIT_TO_SCREEN "Entire Map"
+ IDM_DIRECT_COMMAND "Type Cmd"
IDS_CAP_FILE "File"
IDS_CAP_HELP "Help"
IDS_CAP_MAP "Map"