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:
@@ -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 },
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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"
|
||||
|
||||
Reference in New Issue
Block a user