E unsigned long NDECL(get_current_feature_ver);
E const char *FDECL(copyright_banner_line, (int));
+#ifdef RUNTIME_PORT_ID
+E void FDECL(append_port_id, (char *));
+#endif
+
/* ### video.c ### */
#ifdef MSDOS
/* NetHack 3.5 wceconf.h $Date$ $Revision$ */
-/* SCCS Id: @(#)wceconf.h 3.5 2005/01/23 */
/* Copyright (C) 2001 by Alex Kompel */
/* NetHack may be freely redistributed. See license for details. */
extern struct tm * __cdecl localtime(const time_t *);
extern time_t __cdecl time(time_t *);
+extern time_t __cdecl mktime(struct tm * tb);
/* __stdio.h__ */
#ifndef BUFSIZ
#include <stdlib.h>
#endif
-#if defined(UNIX) || defined(VMS) || defined(_MSC_VER)
+#if defined(UNIX) || defined(VMS) || !defined(NO_SIGNAL)
#include <signal.h>
#endif
/* NetHack 3.5 pcmain.c $Date$ $Revision$ */
-/* SCCS Id: @(#)pcmain.c 3.5 2008/01/30 */
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
/* NetHack may be freely redistributed. See license for details. */
*/
if (!strncmp(argv[1], "-s", 2)) {
#if defined(MSWIN_GRAPHICS) || defined(WIN32CON)
- int sfd = _fileno(stdout);
+ int sfd = (int)_fileno(stdout);
redirect_stdout = (sfd >= 0) ? !isatty(sfd) : 0;
# ifdef MSWIN_GRAPHICS
/* NetHack 3.5 celib.c $Date$ $Revision$ */
-/* SCCS Id: @(#)celib.c 3.5 2005/01/23 */
/* Copyright (C) 2001 by Alex Kompel */
/* NetHack may be freely redistributed. See license for details. */
return _t_cnv.t_val;
}
+time_t __cdecl mktime(struct tm * tb)
+{
+ if(!tb) return (time_t)-1;
+
+ _t_cnv.tm_val.yr = tb->tm_year;
+ _t_cnv.tm_val.mo = tb->tm_mon;
+ _t_cnv.tm_val.dd = tb->tm_mday;
+ _t_cnv.tm_val.hh = tb->tm_hour;
+ _t_cnv.tm_val.mm = tb->tm_min;
+ _t_cnv.tm_val.ss = tb->tm_sec;
+ _t_cnv.tm_val.wd = tb->tm_wday;
+
+ return _t_cnv.t_val;
+}
+
/*------------------------------------------------------------------------------*/
/* __io.h__ */
/* Hack io.h function with stdio.h functions */
copy ..\..\win\win32\petmark.uu ..\..\wince\petmark.uu
copy ..\..\sys\wince\menubar.uu ..\..\wince\menubar.uu
copy ..\..\sys\wince\keypad.uu ..\..\wince\keypad.uu
+copy ..\..\sys\wince\nhico.uu ..\..\wince\nhico.uu
REM
REM Get these files from sys\wince
REM
+/* NetHack 3.5 mhcmd.c $Date$ $Revision$ */
/* NetHack may be freely redistributed. See license for details. */
#include "winMS.h"
{ -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, "Q", "Q", -NH_CMDPAD_FONT_NORMAL, NH_CELL_REG, 1, (void*)-1 },
+ { -1, "=", "=", -NH_CMDPAD_FONT_NORMAL, NH_CELL_REG, 1, (void*)-1 },
{ -1, "i", "i", -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 },
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;
/* update "Fit To Screen" item text */
{
TCHAR wbuf[BUFSZ];
- MENUITEMINFO mi;
+ TBBUTTONINFO tbbi;
ZeroMemory( wbuf, sizeof(wbuf) );
if( !LoadString(
panic("cannot load main menu strings");
}
- 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,
+ ZeroMemory( &tbbi, sizeof(tbbi) );
+ tbbi.cbSize = sizeof(tbbi);
+ tbbi.dwMask = TBIF_TEXT;
+ tbbi.pszText = wbuf;
+ if( !SendMessage(
+ GetNHApp()->hMenuBar,
+ TB_SETBUTTONINFO,
IDM_MAP_FIT_TO_SCREEN,
- FALSE,
- &mi) ) {
+ (LPARAM)&tbbi) ) {
error( "Cannot update IDM_MAP_FIT_TO_SCREEN menu item." );
}
}
LRESULT CALLBACK NHTextControlWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
switch(message) {
+ /* tell Windows not to process arrow keys (we want them) */
+ case WM_GETDLGCODE:
+ return DLGC_WANTARROWS;
+
case WM_KEYDOWN:
switch( wParam ) {
case VK_SPACE:
#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
+#define IDS_TEXT_WRAP 32831
+#define IDS_TEXT_UNWRAP 32832
// Next default values for new objects
//
#ifdef APSTUDIO_INVOKED
#ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NEXT_RESOURCE_VALUE 155
-#define _APS_NEXT_COMMAND_VALUE 32831
+#define _APS_NEXT_COMMAND_VALUE 32833
#define _APS_NEXT_CONTROL_VALUE 1334
#define _APS_NEXT_SYMED_VALUE 110
#endif
BOOL mswin_has_keyboard(void);
void mswin_set_fullscreen(BOOL is_fullscreen);
+
+extern winid WIN_STATUS;
+
#endif /* WINmswin_H */
static void __cdecl mswin_moveloop(void *);
static BOOL setMapTiles(const char* fname);
-extern void FDECL(pcmain, (int,char **));
+extern boolean FDECL(pcmain, (int,char **));
#define MAX_CMDLINE_PARAM 255
TCHAR* p;
TCHAR wbuf[NHSTR_BUFSIZE];
char buf[NHSTR_BUFSIZE];
+ boolean resuming;
sys_early_init();
GetModuleFileName(NULL, wbuf, BUFSZ);
argv[0] = _strdup(NH_W2A(wbuf, buf, BUFSZ));
- pcmain(argc,argv);
+ resuming = pcmain(argc,argv);
- moveloop();
+ moveloop(resuming);
return 0;
}
IDC_WINHACK MENU DISCARDABLE
BEGIN
- MENUITEM "Type Cmd", IDM_DIRECT_COMMAND
+ MENUITEM "Entire Map", IDM_MAP_FIT_TO_SCREEN
POPUP "Menu"
BEGIN
MENUITEM "Options", IDM_VIEW_OPTIONS
MENUITEM "Keypad", IDM_VIEW_KEYPAD
- MENUITEM "Cmd", IDM_CMD_DLG
+ MENUITEM "Cmd", IDM_DIRECT_COMMAND
MENUITEM SEPARATOR
MENUITEM "ASCII", IDM_MAP_ASCII8X8
MENUITEM "Tiles", IDM_MAP_TILES
IDC_WINHACK SHMENUBAR DISCARDABLE
BEGIN
IDC_WINHACK, 2,
- I_IMAGENONE, IDM_DIRECT_COMMAND, TBSTATE_ENABLED, TBSTYLE_AUTOSIZE, IDM_DIRECT_COMMAND, 0, NOMENU,
+ I_IMAGENONE, IDM_MAP_FIT_TO_SCREEN, TBSTATE_ENABLED, TBSTYLE_AUTOSIZE, IDM_MAP_FIT_TO_SCREEN, 0, NOMENU,
I_IMAGENONE, ID_VIEW, TBSTATE_ENABLED, TBSTYLE_DROPDOWN | TBSTYLE_AUTOSIZE, IDS_CAP_VIEW, 0, 1,
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"