2022-02-14 20:37:18 +00:00
|
|
|
#ifdef _MSC_VER
|
|
|
|
|
2016-03-21 23:48:02 +00:00
|
|
|
#include <tchar.h>
|
2006-02-27 18:29:38 +00:00
|
|
|
|
2006-02-25 20:50:29 +00:00
|
|
|
#include <crtdbg.h>
|
2023-12-27 22:14:10 +00:00
|
|
|
// <strmif.h> has the correct IReferenceClock definition that works for both x86 and x64,
|
|
|
|
// whereas the alternative definition in <dsound.h> is incorrect for x64. (out of
|
|
|
|
// maintenance perhaps)
|
|
|
|
// <strmif.h> *must* be included before <dsound.h> for x64 to work.
|
|
|
|
#include <strmif.h>
|
2006-02-25 20:50:29 +00:00
|
|
|
#include <dsound.h>
|
|
|
|
#include <dshow.h>
|
|
|
|
|
|
|
|
#include <math.h>
|
|
|
|
#include <stdio.h>
|
|
|
|
#include <stdlib.h>
|
|
|
|
#include <time.h>
|
2016-03-21 22:27:09 +00:00
|
|
|
#if _MSC_VER >= 1600 // <stdint.h> supported from VS2010 (cl.exe v16.00)
|
|
|
|
#include <stdint.h> // cleanup WORD DWORD -> uint16_t uint32_t
|
|
|
|
#else
|
2022-02-05 22:02:26 +00:00
|
|
|
typedef INT8 int8_t;
|
2016-03-21 22:27:09 +00:00
|
|
|
typedef UINT8 uint8_t;
|
|
|
|
typedef UINT16 uint16_t;
|
|
|
|
typedef UINT32 uint32_t;
|
2018-06-02 21:26:29 +00:00
|
|
|
typedef UINT64 uint64_t;
|
2016-03-21 22:27:09 +00:00
|
|
|
#endif
|
2006-06-26 16:59:48 +00:00
|
|
|
|
2006-02-25 20:50:29 +00:00
|
|
|
#include <windows.h>
|
2006-06-26 16:59:48 +00:00
|
|
|
#include <winuser.h> // WM_MOUSEWHEEL
|
2020-12-27 19:21:46 +00:00
|
|
|
#include <shlwapi.h>
|
2019-08-09 03:50:29 +00:00
|
|
|
#include <strsafe.h>
|
2006-02-25 20:50:29 +00:00
|
|
|
#include <commctrl.h>
|
|
|
|
#include <ddraw.h>
|
|
|
|
#include <htmlhelp.h>
|
2010-02-14 21:11:26 +00:00
|
|
|
#include <assert.h>
|
2006-02-25 20:50:29 +00:00
|
|
|
|
2014-08-14 19:29:01 +00:00
|
|
|
#include <algorithm>
|
|
|
|
#include <map>
|
2010-01-03 18:43:08 +00:00
|
|
|
#include <queue>
|
2016-03-21 23:48:02 +00:00
|
|
|
#include <stack>
|
|
|
|
#include <string>
|
2010-01-03 18:43:08 +00:00
|
|
|
#include <vector>
|
2017-01-21 09:15:26 +00:00
|
|
|
#include <memory>
|
2020-01-06 21:08:00 +00:00
|
|
|
#include <stdexcept>
|
2022-02-13 21:37:05 +00:00
|
|
|
#include <cstdarg>
|
2010-01-03 18:43:08 +00:00
|
|
|
|
2014-08-20 21:40:48 +00:00
|
|
|
// SM_CXPADDEDBORDER is not supported on 2000 & XP:
|
|
|
|
// http://msdn.microsoft.com/en-nz/library/windows/desktop/ms724385(v=vs.85).aspx
|
|
|
|
#ifndef SM_CXPADDEDBORDER
|
|
|
|
#define SM_CXPADDEDBORDER 92
|
|
|
|
#endif
|
|
|
|
|
2014-08-13 20:30:35 +00:00
|
|
|
#define USE_SPEECH_API
|
2022-02-13 21:37:05 +00:00
|
|
|
|
2022-02-14 20:37:18 +00:00
|
|
|
#if _MSC_VER < 1900
|
2022-02-13 21:37:05 +00:00
|
|
|
#ifdef _WIN64
|
|
|
|
#define SIZE_T_FMT "llu"
|
|
|
|
#define PTRDIFF_T_FMT "lld"
|
|
|
|
#else
|
|
|
|
#define SIZE_T_FMT "lu"
|
|
|
|
#define PTRDIFF_T_FMT "ld"
|
|
|
|
#endif
|
|
|
|
#else
|
|
|
|
#define SIZE_T_FMT "zu"
|
|
|
|
#define PTRDIFF_T_FMT "td"
|
|
|
|
#endif
|
2022-02-14 20:37:18 +00:00
|
|
|
|
|
|
|
#else
|
|
|
|
|
|
|
|
#include <cmath>
|
|
|
|
#include <map>
|
|
|
|
#include <stack>
|
|
|
|
#include <stdexcept>
|
|
|
|
#include <cstdarg>
|
|
|
|
#include <cstring>
|
|
|
|
#include <algorithm>
|
|
|
|
#include <string>
|
|
|
|
#include <vector>
|
|
|
|
|
|
|
|
#include "windows.h"
|
|
|
|
|
|
|
|
//#define USE_SPEECH_API
|
|
|
|
|
|
|
|
#define SIZE_T_FMT "zu"
|
|
|
|
#define PTRDIFF_T_FMT "td"
|
|
|
|
|
|
|
|
#endif
|