iw4x-client/src/STDInclude.hpp

148 lines
3.3 KiB
C++
Raw Normal View History

2016-07-11 11:14:58 -04:00
#pragma once
// Version number
#include <version.hpp>
#ifndef RESOURCE_DATA
// Disable irrelevant warnings
#pragma warning(disable: 4100) // Unreferenced parameter (steam has to have them and other stubs as well, due to their calling convention)
2016-07-12 12:33:25 -04:00
#define VC_EXTRALEAN
2016-07-11 11:14:58 -04:00
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
//#include <stdio.h>
//#include <string.h>
//#include <wincrypt.h>
//#include <time.h>
2016-07-11 11:14:58 -04:00
#include <timeapi.h>
#include <shellapi.h>
//#include <shlwapi.h>
//#include <WinSock2.h>
2016-07-11 11:14:58 -04:00
#include <Wininet.h>
//#include <Urlmon.h>
2016-07-11 11:14:58 -04:00
#include <d3d9.h>
2016-08-08 08:49:53 -04:00
#include <Aclapi.h>
2016-07-11 11:14:58 -04:00
//#include <map>
//#include <mutex>
//#include <string>
//#include <vector>
2016-07-11 11:14:58 -04:00
#include <sstream>
#include <fstream>
//#include <utility>
//#include <algorithm>
//#include <functional>
2016-07-11 11:14:58 -04:00
#include <cctype>
//#include <locale>
2016-07-11 11:14:58 -04:00
#include <regex>
#include <thread>
//#include <chrono>
2016-07-11 11:14:58 -04:00
#include <future>
#include <queue>
// Submodules
// Ignore the warnings, it's no our code!
#pragma warning(push)
#pragma warning(disable: 4005)
#pragma warning(disable: 4389)
#pragma warning(disable: 4702)
#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)
#include <zlib.h>
#include <curses.h>
#include <mongoose.h>
#include <json11.hpp>
#include <tomcrypt.h>
#include <wink/signal.hpp>
#ifdef max
#undef max
#endif
#ifdef min
#undef min
#endif
#include <fmt/printf.h>
// Protobuf
#include "proto/network.pb.h"
#include "proto/party.pb.h"
#include "proto/auth.pb.h"
#include "proto/node.pb.h"
#include "proto/rcon.pb.h"
#pragma warning(pop)
#include "Utils\IO.hpp"
#include "Utils\CSV.hpp"
#include "Utils\Utils.hpp"
#include "Utils\WebIO.hpp"
#include "Utils\Memory.hpp"
#include "Utils\String.hpp"
#include "Utils\Hooking.hpp"
#include "Utils\InfoString.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")
#pragma comment(lib, "Wininet.lib")
#pragma comment(lib, "shlwapi.lib")
#pragma comment(lib, "Urlmon.lib")
2016-08-08 08:49:53 -04:00
#pragma comment(lib, "Advapi32.lib")
2016-07-11 11:14:58 -04:00
// Enable additional literals
using namespace std::literals;
#endif
// Revision number
#define STRINGIZE_(x) #x
#define STRINGIZE(x) STRINGIZE_(x)
#define BASEGAME "iw4x"
#define CLIENT_CONFIG "iw4x_config.cfg"
#define REVISION_STR STRINGIZE(REVISION)
#if !REVISION_CLEAN
#define REVISION_SUFFIX "*"
#else
#define REVISION_SUFFIX ""
#endif
#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.")
// Resource stuff
#ifdef APSTUDIO_INVOKED
#ifndef APSTUDIO_READONLY_SYMBOLS
// Defines below make accessing the resources from the code easier.
#define _APS_NEXT_RESOURCE_VALUE 102
#define _APS_NEXT_COMMAND_VALUE 40001
#define _APS_NEXT_CONTROL_VALUE 1001
#define _APS_NEXT_SYMED_VALUE 101
#endif
#endif