Source:NetHack 3.6.0/include/wceconf.h

From NetHackWiki
(Redirected from Wceconf.h)
Jump to: navigation, search

Below is the full text to wceconf.h from the source code of NetHack 3.6.0. To link to a particular line, write [[Source:NetHack 3.6.0/include/wceconf.h#line123]], for example.

The NetHack General Public License applies to screenshots, source code and other content from NetHack.

This content was modified from the original NetHack source code distribution (by splitting up NetHack content between wiki pages, and possibly further editing). See the page history for a list of who changed it, and on what dates.

  1.  /* NetHack 3.6	wceconf.h	$NHDT-Date: 1432512776 2015/05/25 00:12:56 $  $NHDT-Branch: master $:$NHDT-Revision: 1.22 $ */
  2.  /* Copyright (C) 2001 by Alex Kompel 	 */
  3.  /* NetHack may be freely redistributed.  See license for details. */
  4.  
  5.  #ifndef WCECONF_H
  6.  #define WCECONF_H
  7.  
  8.  #pragma warning(disable : 4142) /* benign redefinition of type */
  9.  
  10.  #define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers
  11.  
  12.  #include <windows.h>
  13.  
  14.  /* Detect the target device */
  15.  #if defined(WIN32_PLATFORM_PSPC)
  16.  #if _WIN32_WCE >= 300
  17.  #define WIN_CE_POCKETPC
  18.  #else
  19.  #define WIN_CE_PS2xx
  20.  #endif
  21.  #elif defined(WIN32_PLATFORM_HPCPRO)
  22.  #define WIN_CE_HPCPRO
  23.  #elif defined(WIN32_PLATFORM_WFSP)
  24.  #define WIN_CE_SMARTPHONE
  25.  #else
  26.  #error "Unsupported Windows CE platform"
  27.  #endif
  28.  
  29.  /* #define SHELL	/* nt use of pcsys routines caused a hang */
  30.  
  31.  #define RANDOM    /* have Berkeley random(3) */
  32.  #define TEXTCOLOR /* Color text */
  33.  
  34.  #define EXEPATH              /* Allow .exe location to be used as HACKDIR */
  35.  #define TRADITIONAL_GLYPHMAP /* Store glyph mappings at level change time */
  36.  
  37.  #define PC_LOCKING /* Prevent overwrites of aborted or in-progress games */
  38.  /* without first receiving confirmation. */
  39.  
  40.  #define SELF_RECOVER /* Allow the game itself to recover from an aborted \
  41.                          game */
  42.  
  43.  #define NOTSTDC /* no strerror() */
  44.  
  45.  #define USER_SOUNDS
  46.  
  47.  /*
  48.   * -----------------------------------------------------------------
  49.   *  The remaining code shouldn't need modification.
  50.   * -----------------------------------------------------------------
  51.   */
  52.  /* #define SHORT_FILENAMES	/* All NT filesystems support long names now
  53.   */
  54.  
  55.  #ifdef MICRO
  56.  #undef MICRO /* never define this! */
  57.  #endif
  58.  
  59.  #define NOCWD_ASSUMPTIONS /* Always define this. There are assumptions that \
  60.                               it is defined for WIN32.                       \
  61.                               Allow paths to be specified for HACKDIR,       \
  62.                               LEVELDIR, SAVEDIR, BONESDIR, DATADIR,          \
  63.                               SCOREDIR, LOCKDIR, CONFIGDIR, and TROUBLEDIR */
  64.  #define NO_TERMS
  65.  #define ASCIIGRAPH
  66.  
  67.  #ifdef OPTIONS_USED
  68.  #undef OPTIONS_USED
  69.  #endif
  70.  #ifdef MSWIN_GRAPHICS
  71.  #define OPTIONS_USED "guioptions"
  72.  #else
  73.  #define OPTIONS_USED "ttyoptions"
  74.  #endif
  75.  #define OPTIONS_FILE OPTIONS_USED
  76.  
  77.  #define PORT_HELP "porthelp"
  78.  
  79.  #define SAFERHANGUP /* Define SAFERHANGUP to delay hangup processing   \
  80.                       * until the main command loop. 'safer' because it \
  81.                       * avoids certain cheats and also avoids losing    \
  82.                       * objects being thrown when the hangup occurs.    \
  83.                       */
  84.  
  85.  #if defined(WIN_CE_POCKETPC)
  86.  #define PORT_CE_PLATFORM "Pocket PC"
  87.  #elif defined(WIN_CE_PS2xx)
  88.  #define PORT_CE_PLATFORM "Palm-size PC 2.11"
  89.  #elif defined(WIN_CE_HPCPRO)
  90.  #define PORT_CE_PLATFORM "H/PC Pro 2.11"
  91.  #elif defined(WIN_CE_SMARTPHONE)
  92.  #define PORT_CE_PLATFORM "Smartphone 2002"
  93.  #endif
  94.  
  95.  #if defined(ARM)
  96.  #define PORT_CE_CPU "ARM"
  97.  #elif defined(PPC)
  98.  #define PORT_CE_CPU "PPC"
  99.  #elif defined(ALPHA)
  100.  #define PORT_CE_CPU "ALPHA"
  101.  #elif defined(SH3)
  102.  #define PORT_CE_CPU "SH3"
  103.  #elif defined(SH4)
  104.  #define PORT_CE_CPU "SH4"
  105.  #elif defined(MIPS)
  106.  #define PORT_CE_CPU "MIPS"
  107.  #elif defined(X86) || defined(_X86_)
  108.  #define PORT_CE_CPU "X86"
  109.  #else
  110.  #error Only ARM, PPC, ALPHA, SH3, SH4, MIPS and X86 supported
  111.  #endif
  112.  
  113.  #define RUNTIME_PORT_ID /* trigger run-time port identification since \
  114.                             Makedefs is bootstrapped on a cross-platform. */
  115.  
  116.  #include <string.h> /* Provides prototypes of strncmpi(), etc.     */
  117.  #ifdef STRNCMPI
  118.  #define strncmpi(a, b, c) _strnicmp(a, b, c)
  119.  #endif
  120.  
  121.  #ifdef STRCMPI
  122.  #define strcmpi(a, b) _stricmp(a, b)
  123.  #define stricmp(a, b) _stricmp(a, b)
  124.  #endif
  125.  
  126.  #include <stdlib.h>
  127.  
  128.  #define PATHLEN BUFSZ  /* maximum pathlength */
  129.  #define FILENAME BUFSZ /* maximum filename length (conservative) */
  130.  
  131.  #if defined(_MAX_PATH) && defined(_MAX_FNAME)
  132.  #if (_MAX_PATH < BUFSZ) && (_MAX_FNAME < BUFSZ)
  133.  #undef PATHLEN
  134.  #undef FILENAME
  135.  #define PATHLEN _MAX_PATH
  136.  #define FILENAME _MAX_FNAME
  137.  #endif
  138.  #endif
  139.  
  140.  #define NO_SIGNAL
  141.  #define index strchr
  142.  #define rindex strrchr
  143.  #define USE_STDARG
  144.  #ifdef RANDOM
  145.  /* Use the high quality random number routines. */
  146.  #define Rand() random()
  147.  #else
  148.  #define Rand() rand()
  149.  #endif
  150.  
  151.  #define FCMASK 0660 /* file creation mask */
  152.  #define regularize nt_regularize
  153.  #define HLOCK "NHPERM"
  154.  
  155.  #ifndef M
  156.  #define M(c) ((char) (0x80 | (c)))
  157.  /* #define M(c)		((c) - 128) */
  158.  #endif
  159.  
  160.  #ifndef C
  161.  #define C(c) (0x1f & (c))
  162.  #endif
  163.  
  164.  #if defined(DLB)
  165.  #define FILENAME_CMP _stricmp /* case insensitive */
  166.  #endif
  167.  
  168.  #if 0
  169.  extern char levels[], bones[], permbones[],
  170.  #endif /* 0 */
  171.  
  172.  /* this was part of the MICRO stuff in the past */
  173.  extern const char *alllevels, *allbones;
  174.  extern char hackdir[];
  175.  #define ABORT C('a')
  176.  #define getuid() 1
  177.  #define getlogin() ((char *) 0)
  178.  extern void NDECL(win32_abort);
  179.  #ifdef WIN32CON
  180.  extern void FDECL(nttty_preference_update, (const char *));
  181.  extern void NDECL(toggle_mouse_support);
  182.  #endif
  183.  
  184.  #ifndef alloca
  185.  #define ALLOCA_HACK /* used in util/panic.c */
  186.  #endif
  187.  
  188.  #ifdef _MSC_VER
  189.  #if 0
  190.  #pragma warning(disable : 4018) /* signed/unsigned mismatch */
  191.  #pragma warning(disable : 4305) /* init, conv from 'const int' to 'char' */
  192.  #endif
  193.  #pragma warning(disable : 4761) /* integral size mismatch in arg; conv \
  194.                                     supp*/
  195.  #ifdef YYPREFIX
  196.  #pragma warning(disable : 4102) /* unreferenced label */
  197.  #endif
  198.  #endif
  199.  
  200.  /* UNICODE stuff */
  201.  #define NHSTR_BUFSIZE 255
  202.  #ifdef UNICODE
  203.  #define NH_W2A(w, a, cb) \
  204.      (WideCharToMultiByte(CP_ACP, 0, (w), -1, (a), (cb), NULL, NULL), (a))
  205.  
  206.  #define NH_A2W(a, w, cb) \
  207.      (MultiByteToWideChar(CP_ACP, 0, (a), -1, (w), (cb)), (w))
  208.  #else
  209.  #define NH_W2A(w, a, cb) (strncpy((a), (w), (cb)))
  210.  
  211.  #define NH_A2W(a, w, cb) (strncpy((w), (a), (cb)))
  212.  #endif
  213.  
  214.  extern int FDECL(set_win32_option, (const char *, const char *));
  215.  
  216.  /*
  217.   * 3.4.3 addition - Stuff to help the user with some common, yet significant
  218.   * errors
  219.   * Let's make it NOP for now
  220.   */
  221.  #define interject_assistance(_1, _2, _3, _4)
  222.  #define interject(_1)
  223.  
  224.  /* Missing definitions */
  225.  extern int mswin_have_input();
  226.  #define kbhit mswin_have_input
  227.  
  228.  #define getenv(a) ((char *) NULL)
  229.  
  230.  /* __stdio.h__ */
  231.  #define perror(a)
  232.  #define freopen(a, b, c) fopen(a, b)
  233.  extern int isatty(int);
  234.  
  235.  /* __time.h___ */
  236.  #ifndef _TIME_T_DEFINED
  237.  typedef __int64 time_t; /* time value */
  238.  #define _TIME_T_DEFINED /* avoid multiple def's of time_t */
  239.  #endif
  240.  
  241.  #ifndef _TM_DEFINED
  242.  struct tm {
  243.      int tm_sec;   /* seconds after the minute - [0,59] */
  244.      int tm_min;   /* minutes after the hour - [0,59] */
  245.      int tm_hour;  /* hours since midnight - [0,23] */
  246.      int tm_mday;  /* day of the month - [1,31] */
  247.      int tm_mon;   /* months since January - [0,11] */
  248.      int tm_year;  /* years since 1900 */
  249.      int tm_wday;  /* days since Sunday - [0,6] */
  250.      int tm_yday;  /* days since January 1 - [0,365] */
  251.      int tm_isdst; /* daylight savings time flag - - NOT IMPLEMENTED */
  252.  };
  253.  #define _TM_DEFINED
  254.  #endif
  255.  
  256.  extern struct tm *__cdecl localtime(const time_t *);
  257.  extern time_t __cdecl time(time_t *);
  258.  extern time_t __cdecl mktime(struct tm *tb);
  259.  
  260.  /* __stdio.h__ */
  261.  #ifndef BUFSIZ
  262.  #define BUFSIZ 255
  263.  #endif
  264.  
  265.  #define rewind(stream) (void) fseek(stream, 0L, SEEK_SET)
  266.  
  267.  /* __io.h__ */
  268.  typedef long off_t;
  269.  
  270.  extern int __cdecl close(int);
  271.  extern int __cdecl creat(const char *, int);
  272.  extern int __cdecl eof(int);
  273.  extern long __cdecl lseek(int, long, int);
  274.  extern int __cdecl open(const char *, int, ...);
  275.  extern int __cdecl read(int, void *, unsigned int);
  276.  extern int __cdecl unlink(const char *);
  277.  extern int __cdecl write(int, const void *, unsigned int);
  278.  extern int __cdecl rename(const char *, const char *);
  279.  extern int __cdecl access(const char *, int);
  280.  
  281.  #ifdef DeleteFile
  282.  #undef DeleteFile
  283.  #endif
  284.  #define DeleteFile(a) unlink(a)
  285.  
  286.  int chdir(const char *dirname);
  287.  extern char *getcwd(char *buffer, int maxlen);
  288.  
  289.  /* __stdlib.h__ */
  290.  #define abort() (void) TerminateProcess(GetCurrentProcess(), 0)
  291.  #ifndef strdup
  292.  #define strdup _strdup
  293.  #endif
  294.  
  295.  /* sys/stat.h */
  296.  #define S_IWRITE GENERIC_WRITE
  297.  #define S_IREAD GENERIC_READ
  298.  
  299.  /* CE 2.xx is missing even more stuff */
  300.  #if defined(WIN_CE_PS2xx) || defined(WIN32_PLATFORM_HPCPRO)
  301.  #define ZeroMemory(p, s) memset((p), 0, (s))
  302.  
  303.  extern int __cdecl isupper(int c);
  304.  extern int __cdecl isdigit(int c);
  305.  extern int __cdecl isspace(int c);
  306.  extern int __cdecl isprint(int c);
  307.  
  308.  extern char *__cdecl _strdup(const char *s);
  309.  extern char *__cdecl strrchr(const char *string, int c);
  310.  extern int __cdecl _stricmp(const char *a, const char *b);
  311.  
  312.  extern FILE *__cdecl fopen(const char *filename, const char *mode);
  313.  extern int __cdecl fscanf(FILE *f, const char *format, ...);
  314.  extern int __cdecl fprintf(FILE *f, const char *format, ...);
  315.  extern int __cdecl vfprintf(FILE *f, const char *format, va_list args);
  316.  extern int __cdecl fgetc(FILE *f);
  317.  extern char *__cdecl fgets(char *s, int size, FILE *f);
  318.  extern int __cdecl printf(const char *format, ...);
  319.  extern int __cdecl vprintf(const char *format, va_list args);
  320.  extern int __cdecl puts(const char *s);
  321.  extern FILE *__cdecl _getstdfilex(int desc);
  322.  extern int __cdecl fclose(FILE *f);
  323.  extern size_t __cdecl fread(void *p, size_t size, size_t count, FILE *f);
  324.  extern size_t __cdecl fwrite(const void *p, size_t size, size_t count,
  325.                               FILE *f);
  326.  extern int __cdecl fflush(FILE *f);
  327.  extern int __cdecl feof(FILE *f);
  328.  extern int __cdecl fseek(FILE *f, long offset, int from);
  329.  extern long __cdecl ftell(FILE *f);
  330.  
  331.  #endif
  332.  
  333.  /* ARM - the processor; avoids conflict with ARM in hack.h */
  334.  #ifdef ARM
  335.  #undef ARM
  336.  #endif
  337.  
  338.  /* leave - Windows CE defines leave as part of exception handling (__leave)
  339.     It conflicts with existing sources and since we don't use exceptions it is
  340.     safe
  341.     to undefine it */
  342.  #ifdef leave
  343.  #undef leave
  344.  #endif
  345.  
  346.  #endif /* WCECONF_H */