- B1026 [confirmed] win32: setting multiple options - bugfix: menu: set focus to the item and make it visible when it is selected with accelerator key. - increased menu font size by 1 point - layout the main window on WM_MOVE message so the menu windows stays with the main window (it was not changing the location before) - got rid of WinCE specific define (ARM) - handle all keyboard input via WM_KEYDOWN instead WM_CHAR Files affected: config1.h mhmsg.h mhmain.c mhmenu.c mswproc.c resource.h winhack.rc Notes: That overrides Yitzhak's mhmenu patch - I don't like the menu prompt on the title bar since it can be null and in most cases it is. It looks much better as a header column in the list and is displayed only if present. I moved ARM-related (processor) defines to wceconf.h You cannot undef ARM before windows.h is processed - ARM version won't compile. .rc files are generated by IDE - you cannot edit them directly or your changes will be gone next time the file is saved. If anything needs to be added to winhack.rc file manually it has to be marked by the following defines or via menu option View->Resource Includes: #define APSTUDIO_READONLY_SYMBOLS ... #undef APSTUDIO_READONLY_SYMBOLS
195 lines
4.2 KiB
C
195 lines
4.2 KiB
C
/* SCCS Id: @(#)config1.h 3.3 1999/12/05 */
|
|
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
|
|
/* NetHack may be freely redistributed. See license for details. */
|
|
|
|
#ifndef CONFIG1_H
|
|
#define CONFIG1_H
|
|
|
|
/*
|
|
* MS DOS - compilers
|
|
*
|
|
* Microsoft C auto-defines MSDOS,
|
|
* Borland C auto-defines __MSDOS__,
|
|
* DJGPP auto-defines MSDOS.
|
|
*/
|
|
|
|
/* #define MSDOS */ /* use if not defined by compiler or cases below */
|
|
|
|
#ifdef __MSDOS__ /* for Borland C */
|
|
# ifndef MSDOS
|
|
# define MSDOS
|
|
# endif
|
|
#endif
|
|
|
|
#ifdef __TURBOC__
|
|
# define __MSC /* increase Borland C compatibility in libraries */
|
|
#endif
|
|
|
|
#ifdef MSDOS
|
|
# undef UNIX
|
|
#endif
|
|
|
|
/*
|
|
* Mac Stuff.
|
|
*/
|
|
#ifdef macintosh /* Auto-defined symbol for MPW compilers (sc and mrc) */
|
|
# define MAC
|
|
#endif
|
|
|
|
#ifdef THINK_C /* Think C auto-defined symbol */
|
|
# define MAC
|
|
# define NEED_VARARGS
|
|
#endif
|
|
|
|
#ifdef __MWERKS__ /* defined by Metrowerks' Codewarrior compiler */
|
|
# ifndef __BEOS__ /* BeOS */
|
|
# define MAC
|
|
# endif
|
|
# define NEED_VARARGS
|
|
# define USE_STDARG
|
|
#endif
|
|
|
|
#if defined(MAC) || defined(__BEOS__)
|
|
# define DLB
|
|
# undef UNIX
|
|
#endif
|
|
|
|
#ifdef __BEOS__
|
|
# define NEED_VARARGS
|
|
#endif
|
|
|
|
|
|
/*
|
|
* Amiga setup.
|
|
*/
|
|
#ifdef AZTEC_C /* Manx auto-defines this */
|
|
# ifdef MCH_AMIGA /* Manx auto-defines this for AMIGA */
|
|
# ifndef AMIGA
|
|
#define AMIGA /* define for Commodore-Amiga */
|
|
# endif /* (SAS/C auto-defines AMIGA) */
|
|
#define AZTEC_50 /* define for version 5.0 of manx */
|
|
# endif
|
|
#endif
|
|
#ifdef __SASC_60
|
|
# define NEARDATA __near /* put some data close */
|
|
#else
|
|
# ifdef _DCC
|
|
# define NEARDATA __near /* put some data close */
|
|
# else
|
|
# define NEARDATA
|
|
# endif
|
|
#endif
|
|
#ifdef AMIGA
|
|
# define NEED_VARARGS
|
|
# undef UNIX
|
|
# define DLB
|
|
# define HACKDIR "NetHack:"
|
|
# define NO_MACRO_CPATH
|
|
#endif
|
|
|
|
/*
|
|
* Atari auto-detection
|
|
*/
|
|
|
|
#ifdef atarist
|
|
# undef UNIX
|
|
# ifndef TOS
|
|
# define TOS
|
|
# endif
|
|
#else
|
|
# ifdef __MINT__
|
|
# undef UNIX
|
|
# ifndef TOS
|
|
# define TOS
|
|
# endif
|
|
# endif
|
|
#endif
|
|
|
|
/*
|
|
* Windows NT Autodetection
|
|
*/
|
|
#ifdef _WIN32_WCE
|
|
# ifndef WIN32
|
|
# define WIN32
|
|
# endif
|
|
#endif
|
|
|
|
#ifdef WIN32
|
|
# undef UNIX
|
|
# undef MSDOS
|
|
# define NHSTDC
|
|
# define STRNCMPI
|
|
# define USE_STDARG
|
|
# define NEED_VARARGS
|
|
|
|
#endif
|
|
|
|
|
|
#ifdef VMS /* really old compilers need special handling, detected here */
|
|
# undef UNIX
|
|
# ifdef __DECC
|
|
# ifndef __DECC_VER /* buggy early versions want widened prototypes */
|
|
# define NOTSTDC /* except when typedefs are involved */
|
|
# define USE_VARARGS
|
|
# else
|
|
# define NHSTDC
|
|
# define USE_STDARG
|
|
# define POSIX_TYPES
|
|
# define _DECC_V4_SOURCE /* avoid some incompatible V5.x changes */
|
|
# endif
|
|
# undef __HIDE_FORBIDDEN_NAMES /* need non-ANSI library support functions */
|
|
# else
|
|
# ifdef VAXC /* must use CC/DEFINE=ANCIENT_VAXC for vaxc v2.2 or older */
|
|
# ifdef ANCIENT_VAXC /* vaxc v2.2 and earlier [lots of warnings to come] */
|
|
# define KR1ED /* simulate defined() */
|
|
# define USE_VARARGS
|
|
# else /* vaxc v2.3,2.4,or 3.x, or decc in vaxc mode */
|
|
# if defined(USE_PROTOTYPES) /* this breaks 2.2 (*forces* use of ANCIENT)*/
|
|
# define __STDC__ 0 /* vaxc is not yet ANSI compliant, but close enough */
|
|
# define signed /* well, almost close enough */
|
|
#include <stddef.h>
|
|
# define UNWIDENED_PROTOTYPES
|
|
# endif
|
|
# define USE_STDARG
|
|
# endif
|
|
# endif /*VAXC*/
|
|
# endif /*__DECC*/
|
|
# ifdef VERYOLD_VMS /* v4.5 or earlier; no longer available for testing */
|
|
# define USE_OLDARGS /* <varargs.h> is there, vprintf & vsprintf aren't */
|
|
# ifdef USE_VARARGS
|
|
# undef USE_VARARGS
|
|
# endif
|
|
# ifdef USE_STDARG
|
|
# undef USE_STDARG
|
|
# endif
|
|
# endif
|
|
#endif /*VMS*/
|
|
|
|
#ifdef vax
|
|
/* just in case someone thinks a DECstation is a vax. It's not, it's a mips */
|
|
# ifdef ULTRIX_PROTO
|
|
# undef ULTRIX_PROTO
|
|
# endif
|
|
# ifdef ULTRIX_CC20
|
|
# undef ULTRIX_CC20
|
|
# endif
|
|
#endif
|
|
|
|
#ifdef KR1ED /* For compilers which cannot handle defined() */
|
|
#define defined(x) (-x-1 != -1)
|
|
/* Because:
|
|
* #define FOO => FOO={} => defined( ) => (-1 != - - 1) => 1
|
|
* #define FOO 1 or on command-line -DFOO
|
|
* => defined(1) => (-1 != - 1 - 1) => 1
|
|
* if FOO isn't defined, FOO=0. But some compilers default to 0 instead of 1
|
|
* for -DFOO, oh well.
|
|
* => defined(0) => (-1 != - 0 - 1) => 0
|
|
*
|
|
* But:
|
|
* defined("") => (-1 != - "" - 1)
|
|
* [which is an unavoidable catastrophe.]
|
|
*/
|
|
#endif
|
|
|
|
#endif /* CONFIG1_H */
|