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

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, "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 }
};
@@ -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, "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 },

View File

@@ -31,6 +31,7 @@ static void select_map_mode(int map_mode);
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;
@@ -915,6 +916,10 @@ LRESULT onWMCommand(HWND hWnd, WPARAM wParam, LPARAM lParam)
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;
@@ -1058,7 +1063,7 @@ void mswin_select_map_mode(int mode)
/* update "Fit To Screen" item text */
{
TCHAR wbuf[BUFSZ];
TBBUTTONINFO tbbi;
MENUITEMINFO mi;
ZeroMemory( wbuf, sizeof(wbuf) );
if( !LoadString(
@@ -1069,15 +1074,17 @@ void mswin_select_map_mode(int mode)
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." );
}
}
@@ -1160,3 +1167,20 @@ HMENU _get_main_menu(UINT menu_id)
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);
}
}

View File

@@ -1,6 +1,6 @@
//{{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
@@ -146,13 +146,14 @@
#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

View File

@@ -37,12 +37,13 @@ IDI_WINHACK ICON DISCARDABLE "..\\..\\wince\\NETHACK.ICO"
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
@@ -232,7 +233,7 @@ END
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
@@ -252,8 +253,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
@@ -276,7 +277,7 @@ BEGIN
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"
@@ -305,6 +306,7 @@ END
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"