2016-07-11 11:14:58 -04:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
// Version number
|
2016-08-30 17:55:11 -04:00
|
|
|
#include "version.h"
|
2016-07-11 11:14:58 -04:00
|
|
|
|
2016-08-30 17:55:11 -04:00
|
|
|
#ifndef RC_INVOKED
|
2016-07-11 11:14:58 -04:00
|
|
|
|
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>
|
2016-07-22 06:12:11 -04:00
|
|
|
//#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>
|
2016-07-22 06:12:11 -04:00
|
|
|
//#include <shlwapi.h>
|
|
|
|
//#include <WinSock2.h>
|
2016-07-11 11:14:58 -04:00
|
|
|
#include <Wininet.h>
|
2016-07-22 06:12:11 -04:00
|
|
|
//#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
|
|
|
|
2016-07-22 06:12:11 -04:00
|
|
|
//#include <map>
|
|
|
|
//#include <mutex>
|
|
|
|
//#include <string>
|
|
|
|
//#include <vector>
|
2016-07-11 11:14:58 -04:00
|
|
|
#include <sstream>
|
|
|
|
#include <fstream>
|
2016-07-22 06:12:11 -04:00
|
|
|
//#include <utility>
|
|
|
|
//#include <algorithm>
|
|
|
|
//#include <functional>
|
2016-07-11 11:14:58 -04:00
|
|
|
#include <cctype>
|
2016-07-22 06:12:11 -04:00
|
|
|
//#include <locale>
|
2016-07-11 11:14:58 -04:00
|
|
|
#include <regex>
|
|
|
|
#include <thread>
|
2016-07-22 06:12:11 -04:00
|
|
|
//#include <chrono>
|
2016-07-11 11:14:58 -04:00
|
|
|
#include <future>
|
|
|
|
#include <queue>
|
|
|
|
|
2016-10-09 06:02:17 -04:00
|
|
|
#ifdef ENABLE_DXSDK
|
|
|
|
#include <D3dx9tex.h>
|
|
|
|
#pragma comment(lib, "D3dx9.lib")
|
|
|
|
#endif
|
|
|
|
|
2016-10-08 14:51:00 -04:00
|
|
|
// Usefull for debugging
|
|
|
|
template <size_t S> class Sizer { };
|
|
|
|
#define BindNum(x, y) Sizer<x> y;
|
|
|
|
#define SizeOf(x, y) BindNum(sizeof(x), y)
|
|
|
|
#define OffsetOf(x, y, z) BindNum(offsetof(x, y), z)
|
|
|
|
|
2016-07-11 11:14:58 -04:00
|
|
|
// Submodules
|
|
|
|
// Ignore the warnings, it's no our code!
|
|
|
|
#pragma warning(push)
|
|
|
|
#pragma warning(disable: 4005)
|
2016-08-17 20:18:45 -04:00
|
|
|
#pragma warning(disable: 4100)
|
2016-07-11 11:14:58 -04:00
|
|
|
#pragma warning(disable: 4389)
|
|
|
|
#pragma warning(disable: 4702)
|
2016-08-26 17:41:57 -04:00
|
|
|
#pragma warning(disable: 4996) // _CRT_SECURE_NO_WARNINGS
|
2016-07-11 11:14:58 -04:00
|
|
|
#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>
|
2016-08-28 13:38:16 -04:00
|
|
|
#ifndef DISABLE_BITMESSAGE
|
2016-08-25 12:17:47 -04:00
|
|
|
#include <BitMRC.h>
|
2016-08-28 13:38:16 -04:00
|
|
|
#endif
|
2016-07-11 11:14:58 -04:00
|
|
|
|
|
|
|
#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"
|
2016-11-05 07:56:12 -04:00
|
|
|
#include "Utils\Time.hpp"
|
2016-09-30 20:03:12 -04:00
|
|
|
#include "Utils\Chain.hpp"
|
2016-07-11 11:14:58 -04:00
|
|
|
#include "Utils\Utils.hpp"
|
|
|
|
#include "Utils\WebIO.hpp"
|
|
|
|
#include "Utils\Memory.hpp"
|
|
|
|
#include "Utils\String.hpp"
|
|
|
|
#include "Utils\Hooking.hpp"
|
2016-09-16 18:14:59 -04:00
|
|
|
#include "Utils\Library.hpp"
|
2016-07-11 11:14:58 -04:00
|
|
|
#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-08-28 13:38:16 -04:00
|
|
|
#pragma comment(lib, "rpcrt4.lib")
|
2016-07-11 11:14:58 -04:00
|
|
|
|
|
|
|
// Enable additional literals
|
|
|
|
using namespace std::literals;
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#define STRINGIZE_(x) #x
|
|
|
|
#define STRINGIZE(x) STRINGIZE_(x)
|
|
|
|
|
|
|
|
#define BASEGAME "iw4x"
|
|
|
|
#define CLIENT_CONFIG "iw4x_config.cfg"
|
|
|
|
|
|
|
|
#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
|