2009-02-09 21:15:56 +00:00
|
|
|
// stdafx.h : include file for standard system include files,
|
|
|
|
// or project specific include files that are used frequently, but
|
|
|
|
// are changed infrequently
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
2009-06-16 02:28:43 +00:00
|
|
|
#pragma warning(disable: 4996 4995 4324 4100 4101 4201)
|
2009-02-09 21:15:56 +00:00
|
|
|
|
2009-06-16 02:28:43 +00:00
|
|
|
// The following macros define the minimum required platform. The minimum required platform
|
2010-04-25 00:31:27 +00:00
|
|
|
// is the earliest version of Windows, Internet Explorer etc. that has the necessary features to run
|
|
|
|
// your application. The macros work by enabling all features available on platform versions up to and
|
2009-06-16 02:28:43 +00:00
|
|
|
// including the version specified.
|
2009-02-09 21:15:56 +00:00
|
|
|
|
|
|
|
// Modify the following defines if you have to target a platform prior to the ones specified below.
|
|
|
|
// Refer to MSDN for the latest info on corresponding values for different platforms.
|
2009-06-16 02:28:43 +00:00
|
|
|
|
|
|
|
#ifndef WINVER // Specifies that the minimum required platform is Windows Vista.
|
|
|
|
#define WINVER 0x0600 // Change this to the appropriate value to target other versions of Windows.
|
2009-02-09 21:15:56 +00:00
|
|
|
#endif
|
|
|
|
|
2009-06-16 02:28:43 +00:00
|
|
|
#ifndef _WIN32_WINNT // Specifies that the minimum required platform is Windows Vista.
|
|
|
|
#define _WIN32_WINNT 0x0600 // Change this to the appropriate value to target other versions of Windows.
|
|
|
|
#endif
|
2009-02-09 21:15:56 +00:00
|
|
|
|
2009-06-16 02:28:43 +00:00
|
|
|
#ifndef _WIN32_WINDOWS // Specifies that the minimum required platform is Windows 98.
|
2009-02-09 21:15:56 +00:00
|
|
|
#define _WIN32_WINDOWS 0x0410 // Change this to the appropriate value to target Windows Me or later.
|
|
|
|
#endif
|
|
|
|
|
2009-06-16 02:28:43 +00:00
|
|
|
#ifndef _WIN32_IE // Specifies that the minimum required platform is Internet Explorer 7.0.
|
|
|
|
#define _WIN32_IE 0x0700 // Change this to the appropriate value to target other versions of IE.
|
2009-02-09 21:15:56 +00:00
|
|
|
#endif
|
|
|
|
|
2009-06-16 02:28:43 +00:00
|
|
|
#define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers
|
2009-02-09 21:15:56 +00:00
|
|
|
|
2009-06-16 02:28:43 +00:00
|
|
|
#include <windows.h>
|
|
|
|
#include <commctrl.h>
|
|
|
|
#include <commdlg.h>
|
|
|
|
#include <shellapi.h>
|
2009-02-09 21:15:56 +00:00
|
|
|
#include <xinput.h>
|
2009-08-12 22:11:06 +00:00
|
|
|
#include <assert.h>
|
2009-02-09 21:15:56 +00:00
|
|
|
|
2009-06-16 02:28:43 +00:00
|
|
|
// stdc
|
|
|
|
|
|
|
|
#include <math.h>
|
|
|
|
#include <time.h>
|
|
|
|
#include <intrin.h>
|
|
|
|
|
|
|
|
#include <string>
|
|
|
|
#include <vector>
|
|
|
|
#include <list>
|
|
|
|
#include <map>
|
|
|
|
#include <hash_map>
|
|
|
|
|
|
|
|
using namespace std;
|
|
|
|
using namespace stdext;
|
|
|
|
|
|
|
|
extern string format(const char* fmt, ...);
|
|
|
|
|
|
|
|
// syntactic sugar
|
|
|
|
|
|
|
|
// put these into vc9/common7/ide/usertype.dat to have them highlighted
|
|
|
|
|
|
|
|
typedef unsigned char uint8;
|
|
|
|
typedef signed char int8;
|
|
|
|
typedef unsigned short uint16;
|
|
|
|
typedef signed short int16;
|
|
|
|
typedef unsigned int uint32;
|
|
|
|
typedef signed int int32;
|
|
|
|
typedef unsigned long long uint64;
|
|
|
|
typedef signed long long int64;
|
|
|
|
|
|
|
|
#define countof(a) (sizeof(a) / sizeof(a[0]))
|
2009-02-09 21:15:56 +00:00
|
|
|
|
|
|
|
#define EXPORT_C extern "C" __declspec(dllexport) void __stdcall
|
|
|
|
#define EXPORT_C_(type) extern "C" __declspec(dllexport) type __stdcall
|
|
|
|
|
2009-06-16 02:28:43 +00:00
|
|
|
#define ALIGN_STACK(n) __declspec(align(n)) int __dummy;
|
|
|
|
|
2009-02-09 21:15:56 +00:00
|
|
|
#ifndef RESTRICT
|
|
|
|
#ifdef __INTEL_COMPILER
|
|
|
|
#define RESTRICT restrict
|
2009-06-16 02:28:43 +00:00
|
|
|
#elif _MSC_VER >= 1400 // TODO: gcc
|
2009-02-09 21:15:56 +00:00
|
|
|
#define RESTRICT __restrict
|
|
|
|
#else
|
|
|
|
#define RESTRICT
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
2009-06-16 02:28:43 +00:00
|
|
|
#if defined(_DEBUG) && defined(_MSC_VER)
|
|
|
|
#define ASSERT assert
|
|
|
|
#else
|
|
|
|
#define ASSERT(exp) ((void)0)
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
2009-02-09 21:15:56 +00:00
|
|
|
|