smartphone keypad input tweaks (from <Someone>)

<Someone> wrote:
> Some keypad input tweaks for Smartphone port:
> - added "Type Cmd" command that allows to type arbitrary commands using
> phone keypad
> - added Q(quiver) command to "Attack" layout
> - fixed F command to prompt for direction
>
>
>>2) I can't find a way to do the equivalent of d<number><item> and the
>>same for picking up (for example when multiple rations are on top of each
>>other and you can only afford 1)
>>
>>3) I can't find a way to change the quiver (the Q command)
This commit is contained in:
nethack.allison
2005-03-29 03:58:23 +00:00
parent a3341e071b
commit e45611b909
4 changed files with 45 additions and 18 deletions
+2 -2
View File
@@ -203,7 +203,7 @@ NHCmdPadCell cells_layout_attack[NH_CMDPAD_CELLNUM] =
{ -1, "a", "a", -NH_CMDPAD_FONT_NORMAL, NH_CELL_REG, 1, (void*)-1 }, { -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, "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, "\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, "X", "X", 13, NH_CELL_LAYOUT_MENU, 1 , 0 }
}; };
@@ -216,7 +216,7 @@ NHCmdPadCell cells_layout_item_handling[NH_CMDPAD_CELLNUM] =
{ -1, "T", "T", -NH_CMDPAD_FONT_NORMAL, NH_CELL_REG, 1, (void*)-1 }, { -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, "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, "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, "i", "i", -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, "A", "A", -NH_CMDPAD_FONT_NORMAL, NH_CELL_REG, 1, (void*)-1 }, { -1, "A", "A", -NH_CMDPAD_FONT_NORMAL, NH_CELL_REG, 1, (void*)-1 },
+33 -9
View File
@@ -31,6 +31,7 @@ static void select_map_mode(int map_mode);
static int menuid2mapmode(int menuid); static int menuid2mapmode(int menuid);
static int mapmode2menuid(int map_mode); static int mapmode2menuid(int map_mode);
static HMENU _get_main_menu(UINT menu_id); static HMENU _get_main_menu(UINT menu_id);
static void mswin_direct_command();
HWND mswin_init_main_window () { HWND mswin_init_main_window () {
static int run_once = 0; static int run_once = 0;
@@ -915,6 +916,10 @@ LRESULT onWMCommand(HWND hWnd, WPARAM wParam, LPARAM lParam)
doset(); doset();
break; break;
case IDM_DIRECT_COMMAND: /* SmartPhone: display dialog to type in arbitary command text */
mswin_direct_command();
break;
case IDM_HELP_LONG: case IDM_HELP_LONG:
display_file(HELP, TRUE); display_file(HELP, TRUE);
break; break;
@@ -1058,7 +1063,7 @@ void mswin_select_map_mode(int mode)
/* update "Fit To Screen" item text */ /* update "Fit To Screen" item text */
{ {
TCHAR wbuf[BUFSZ]; TCHAR wbuf[BUFSZ];
TBBUTTONINFO tbbi; MENUITEMINFO mi;
ZeroMemory( wbuf, sizeof(wbuf) ); ZeroMemory( wbuf, sizeof(wbuf) );
if( !LoadString( if( !LoadString(
@@ -1069,15 +1074,17 @@ void mswin_select_map_mode(int mode)
panic("cannot load main menu strings"); panic("cannot load main menu strings");
} }
ZeroMemory( &tbbi, sizeof(tbbi) ); ZeroMemory( &mi, sizeof(mi) );
tbbi.cbSize = sizeof(tbbi); mi.cbSize = sizeof(mi);
tbbi.dwMask = TBIF_TEXT; mi.fType = MFT_STRING;
tbbi.pszText = wbuf; mi.fMask = MIIM_TYPE;
if( !SendMessage( mi.dwTypeData = wbuf;
GetNHApp()->hMenuBar, mi.cch = wcslen(wbuf);
TB_SETBUTTONINFO, if( !SetMenuItemInfo(
hmenuMap,
IDM_MAP_FIT_TO_SCREEN, IDM_MAP_FIT_TO_SCREEN,
(LPARAM)&tbbi) ) { FALSE,
&mi) ) {
error( "Cannot update IDM_MAP_FIT_TO_SCREEN menu item." ); error( "Cannot update IDM_MAP_FIT_TO_SCREEN menu item." );
} }
} }
@@ -1160,3 +1167,20 @@ HMENU _get_main_menu(UINT menu_id)
return hmenuMap; 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);
}
}
+3 -2
View File
@@ -1,6 +1,6 @@
//{{NO_DEPENDENCIES}} //{{NO_DEPENDENCIES}}
// Microsoft Developer Studio generated include file. // Microsoft Developer Studio generated include file.
// Used by winhack.rc // Used by winhcksp.rc
// //
#define IDC_MYICON 2 #define IDC_MYICON 2
#define IDD_WINHACK_DIALOG 102 #define IDD_WINHACK_DIALOG 102
@@ -146,13 +146,14 @@
#define IDS_CAP_NORMALMAP 32827 #define IDS_CAP_NORMALMAP 32827
#define IDM_HELP_MENU 32828 #define IDM_HELP_MENU 32828
#define IDM_VIEW_OPTIONS 32829 #define IDM_VIEW_OPTIONS 32829
#define IDM_DIRECT_COMMAND 32830
// Next default values for new objects // Next default values for new objects
// //
#ifdef APSTUDIO_INVOKED #ifdef APSTUDIO_INVOKED
#ifndef APSTUDIO_READONLY_SYMBOLS #ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NEXT_RESOURCE_VALUE 155 #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_CONTROL_VALUE 1334
#define _APS_NEXT_SYMED_VALUE 110 #define _APS_NEXT_SYMED_VALUE 110
#endif #endif
+7 -5
View File
@@ -37,12 +37,13 @@ IDI_WINHACK ICON DISCARDABLE "..\\..\\wince\\NETHACK.ICO"
IDC_WINHACK MENU DISCARDABLE IDC_WINHACK MENU DISCARDABLE
BEGIN BEGIN
MENUITEM "Entire Map", IDM_MAP_FIT_TO_SCREEN MENUITEM "Type Cmd", IDM_DIRECT_COMMAND
POPUP "Menu" POPUP "Menu"
BEGIN BEGIN
MENUITEM "Options", IDM_VIEW_OPTIONS MENUITEM "Options", IDM_VIEW_OPTIONS
MENUITEM "Keypad", IDM_VIEW_KEYPAD MENUITEM "Keypad", IDM_VIEW_KEYPAD
MENUITEM SEPARATOR MENUITEM SEPARATOR
MENUITEM "Entire Map", IDM_MAP_FIT_TO_SCREEN
MENUITEM "ASCII", IDM_MAP_ASCII8X8 MENUITEM "ASCII", IDM_MAP_ASCII8X8
MENUITEM "Use Tiles", IDM_MAP_TILES MENUITEM "Use Tiles", IDM_MAP_TILES
MENUITEM SEPARATOR MENUITEM SEPARATOR
@@ -232,7 +233,7 @@ END
IDC_WINHACK SHMENUBAR DISCARDABLE IDC_WINHACK SHMENUBAR DISCARDABLE
BEGIN BEGIN
IDC_WINHACK, 2, 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, I_IMAGENONE, ID_VIEW, TBSTATE_ENABLED, TBSTYLE_DROPDOWN | TBSTYLE_AUTOSIZE, IDS_CAP_VIEW, 0, 1,
END END
@@ -252,8 +253,8 @@ END
// //
VS_VERSION_INFO VERSIONINFO VS_VERSION_INFO VERSIONINFO
FILEVERSION 3,4,1,0 FILEVERSION 3,5,0,0
PRODUCTVERSION 3,4,1,0 PRODUCTVERSION 3,5,0,0
FILEFLAGSMASK 0x3fL FILEFLAGSMASK 0x3fL
#ifdef _DEBUG #ifdef _DEBUG
FILEFLAGS 0x9L FILEFLAGS 0x9L
@@ -276,7 +277,7 @@ BEGIN
VALUE "LegalCopyright", "Copyright © 2005\0" VALUE "LegalCopyright", "Copyright © 2005\0"
VALUE "LegalTrademarks", "\0" VALUE "LegalTrademarks", "\0"
VALUE "OriginalFilename", "nethackm.exe\0" VALUE "OriginalFilename", "nethackm.exe\0"
VALUE "PrivateBuild", "050102\0" VALUE "PrivateBuild", "050309\0"
VALUE "ProductName", "NetHack For Smartphone\0" VALUE "ProductName", "NetHack For Smartphone\0"
VALUE "ProductVersion", "3, 5, 0, 0\0" VALUE "ProductVersion", "3, 5, 0, 0\0"
VALUE "SpecialBuild", "\0" VALUE "SpecialBuild", "\0"
@@ -305,6 +306,7 @@ END
STRINGTABLE DISCARDABLE STRINGTABLE DISCARDABLE
BEGIN BEGIN
IDM_MAP_FIT_TO_SCREEN "Entire Map" IDM_MAP_FIT_TO_SCREEN "Entire Map"
IDM_DIRECT_COMMAND "Type Cmd"
IDS_CAP_FILE "File" IDS_CAP_FILE "File"
IDS_CAP_HELP "Help" IDS_CAP_HELP "Help"
IDS_CAP_MAP "Map" IDS_CAP_MAP "Map"