git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@9699 c06c8d41-db1a-0410-9941-cceddc491573
ZYCLT4MWU24HTKCR7C3M3G2MPXPAFVVHWF2BBFLXTWLLCGEXPVQAC 4OMDZ7GPNESCBF5HGCZVBHVVVVSTRMKIMU2ZUZ75IQBHJJMI7GRQC R6YKWD4UXOQ3ULO6VISUMJURT3XHOHYQILKKSASLWEBL7MQP2UCQC UL7XFKMUX3WIU4O2LZANK4ECJ654UZPDBFGNXUEYZYOLKBYBCG6AC K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC AXAM3TX4CUCIPL6ILEJLGJ4D4SMCJYDXGLIB256PBQXXKBIKZ4QAC RPOZZWKG5GLPHVZZ7ZKMKS64ZMV2LDCQSARBJFJ6FZOTOKCQO7FAC 3WHI3KM43ZCN4ITJLFQQBQBC4OJPRS7QTBPIQ6QBCUVKRSK476SAC R22TTMI6WXWULC7ODKFF3QCB7MOTETQQ6IR4BUCUPOCQKQNCTT5AC QK7YLIH7SWBSL3OEBQJYVFNTW4XT5FF6U3GPKW7PEGHBLPV3TVQAC RVST2QHYJ757ZHK4AUJ5NGPDZ44AD6RVFVXYPKQIBJXZBDNUCHXQC FBSQWOO5V3GQG3RISR2VFCIJD5U3L7EWVLVJES6NJ4H7F24LWWFAC VGXHYRUOSTKGZ3IXD6YDH57J52TKLZEYZTQF75WOJN2IDKCITDCAC ** Modified for Crawl Reference by $Author$ on $Date$*/#ifndef WINHDR_H#define WINHDR_H// ===================================================================================// Windows Includes// ===================================================================================#define WIN32_LEAN_AND_MEAN // exclude some of the less common APIs#define NOSERVICE#define NOMCX#define NOIME#define STRICT 1 // enable as much type checking as the lame Windows API will allow#define NOMINMAX // don't let Windows define (lower case!) min and max macros (conflicts with STL)#include <windows.h>#include <wtypes.h>#include <commdlg.h>#include <tchar.h>// ===================================================================================// MSVC Warnings (I'm not sure if these will fly with Crawl)// ===================================================================================#if _MSC_VER#ifndef ENABLE_EXTRA_WARNINGS#define ENABLE_EXTRA_WARNINGS 1 // if non-zero selected level 4 warnings are enabled#endif#if ENABLE_EXTRA_WARNINGS#pragma warning(error : 4057) // The pointer expressions used with the given operator had different base types.// #pragma warning(error : 4100) // The given formal parameter was never referenced in the body of the function for which it was declared.#pragma warning(error : 4130) // The operator was used with the address of a string literal.#pragma warning(error : 4131) // The specified function declaration is not in prototype form.#pragma warning(error : 4132) // The constant was not initialized.#pragma warning(error : 4208) // nonstandard extension used : delete [exp] - exp evaluated but ignored#pragma warning(error : 4211) // nonstandard extension used : redefined extern to static#pragma warning(error : 4212) // nonstandard extension used : function declaration used ellipsis#pragma warning(error : 4222) // nonstandard extension used : 'identifier' : 'static' should not be used on member functions defined at file scope#pragma warning(error : 4223) // nonstandard extension used : non-lvalue array converted to pointer#pragma warning(error : 4355) // 'this' : used in base member initializer list#pragma warning(error : 4663) // C++ language change: to explicitly specialize class template 'identifier' use the following syntax:#pragma warning(error : 4665) // C++ language change: assuming 'declaration' is an explicit specialization of a function template#pragma warning(error : 4701) // local variable 'name' may be used without having been initialized#pragma warning(error : 4705) // statement has no effect#pragma warning(error : 4706) // assignment within conditional expression#endif#pragma warning(disable : 4800) // casting integer to bool#pragma warning(disable : 4786) // identifier was truncated to '255' characters in the browser#endif#endif#pragma warning(error : 4152) // A pointer to a function was converted to a pointer to data, or vice versa.