iw4x-client/src/STDInclude.hpp
/dev/urandom 22dbae3b67
premake5: Automatic compiling of protobuf definition files.
- Added custom rules for *.proto files to iw4x
- Added a workaround for protoc output not being automatically included
- Disable precompiled headers for protobuf generated sources
- Moved inclusion of node.pb.h out of STDInclude.hpp to only where it's necessary (WTF @momo5502)
- Removed protobuf-generated code from "protobuf" external project
- Removed protogen.bat as it is no longer needed
2016-02-11 15:10:23 +01:00

103 lines
2.2 KiB
C++

#pragma once
// Disable irrelevant warnings
#pragma warning(disable: 4100) // Unreferenced parameter (steam has to have them and other stubs as well, due to their calling convention)
#define _CRT_SECURE_NO_WARNINGS
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#include <stdio.h>
#include <string.h>
#include <wincrypt.h>
#include <time.h>
#include <timeapi.h>
#include <shellapi.h>
#include <WinSock2.h>
#include <d3d9.h>
#include <map>
#include <mutex>
#include <string>
#include <vector>
#include <sstream>
#include <fstream>
#include <utility>
#include <algorithm>
#include <functional>
#include <cctype>
#include <locale>
#include <regex>
#include <thread>
#include <chrono>
#include <future>
// Submodules
// Ignore the warnings, it's no our code!
#pragma warning(push)
#pragma warning(disable: 4005)
#pragma warning(disable: 6001)
#pragma warning(disable: 6011)
#pragma warning(disable: 6031)
#pragma warning(disable: 6255)
#pragma warning(disable: 6258)
#pragma warning(disable: 6386)
#pragma warning(disable: 6387)
#define ZLIB_CONST
#define USE_LTM
#define LTM_DESC
#define LTC_NO_FAST
#define LTC_NO_PROTOTYPES
#define LTC_NO_RSA_BLINDING
#define ASIO_STANDALONE
#include <zlib.h>
#include <curses.h>
//#include <asio.hpp>
#include <json11.hpp>
#include <tomcrypt.h>
#include <wink/signal.hpp>
#pragma warning(pop)
// Version number
#include <version.hpp>
#include "Utils\CSV.hpp"
#include "Utils\Utils.hpp"
#include "Utils\WebIO.hpp"
#include "Utils\Memory.hpp"
#include "Utils\Hooking.hpp"
#include "Utils\Compression.hpp"
#include "Utils\Cryptography.hpp"
#include "Steam\Steam.hpp"
#include "Game\Structs.hpp"
#include "Game\Functions.hpp"
#include "Utils\Stream.hpp"
#include "Components\Loader.hpp"
// Libraries
#pragma comment(lib, "Winmm.lib")
#pragma comment(lib, "Crypt32.lib")
#pragma comment(lib, "Ws2_32.lib")
#pragma comment(lib, "d3d9.lib")
// Revision number
#define STRINGIZE_(x) #x
#define STRINGIZE(x) STRINGIZE_(x)
#define MILESTONE "beta"
#define REVISION_STR STRINGIZE(REVISION)
#define VERSION 4,2,REVISION
#define VERSION_STR "4.2." REVISION_STR
#define Assert_Size(x, size) static_assert(sizeof(x) == size, STRINGIZE(x) " structure has an invalid size.")