summaryrefslogtreecommitdiffstats
path: root/stone_soup/crawl-ref/source/winhdr.h
diff options
context:
space:
mode:
authordshaligram <dshaligram@c06c8d41-db1a-0410-9941-cceddc491573>2006-09-18 15:08:25 +0000
committerdshaligram <dshaligram@c06c8d41-db1a-0410-9941-cceddc491573>2006-09-18 15:08:25 +0000
commita4d4f3ecccb29c3f5fc1ce55579119106c399911 (patch)
tree5677ea04b4dfdadd961c01ba3baf7502f8d6e0d0 /stone_soup/crawl-ref/source/winhdr.h
parent571501e1135989d3b9dc44e3d332562a7cf78b35 (diff)
downloadcrawl-ref-a4d4f3ecccb29c3f5fc1ce55579119106c399911.tar.gz
crawl-ref-a4d4f3ecccb29c3f5fc1ce55579119106c399911.zip
Updated stone_soup-0.1b1 tag to include fix for Poison Arrow of Doom.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/tags/stone_soup-0.1b1@49 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'stone_soup/crawl-ref/source/winhdr.h')
-rw-r--r--stone_soup/crawl-ref/source/winhdr.h70
1 files changed, 70 insertions, 0 deletions
diff --git a/stone_soup/crawl-ref/source/winhdr.h b/stone_soup/crawl-ref/source/winhdr.h
new file mode 100644
index 0000000000..a8d99fb1e3
--- /dev/null
+++ b/stone_soup/crawl-ref/source/winhdr.h
@@ -0,0 +1,70 @@
+/*
+ * File: WinHdr.h
+ * Summary: OS specific stuff for inclusion into AppHdr.h.
+ * Written by: Jesse Jones
+ *
+ * Copyright © 1999 Jesse Jones.
+ *
+ * Change History (most recent first):
+ *
+ * <1> 5/30/99 JDJ Created.
+ */
+
+
+#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 : 4152) // A pointer to a function was converted to a pointer to data, or visa versa.
+#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