/* Copyright (C) 2019 Mr Goldberg This file is part of the Goldberg Emulator The Goldberg Emulator is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. The Goldberg Emulator is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with the Goldberg Emulator; if not, see . */ #ifndef __INCLUDED_COMMON_INCLUDES__ #define __INCLUDED_COMMON_INCLUDES__ #if defined(WIN64) || defined(_WIN64) || defined(__MINGW64__) #define __WINDOWS_64__ #elif defined(WIN32) || defined(_WIN32) || defined(__MINGW32__) #define __WINDOWS_32__ #endif #if defined(__WINDOWS_32__) || defined(__WINDOWS_64__) #define __WINDOWS__ #endif #if defined(__linux__) || defined(linux) #if defined(__x86_64__) #define __LINUX_64__ #else #define __LINUX_32__ #endif #endif #if defined(__LINUX_32__) || defined(__LINUX_64__) #define __LINUX__ #endif #if defined(__WINDOWS__) #define STEAM_WIN32 #ifndef NOMINMAX #define NOMINMAX #endif #endif #define STEAM_API_EXPORTS #if defined(__WINDOWS__) #include #include #include #include #include #include #include // Include winsock2 before this, or winsock2 iphlpapi will be unavailable #include #define MSG_NOSIGNAL 0 #define SystemFunction036 NTAPI SystemFunction036 #include #undef SystemFunction036 #ifndef EMU_RELEASE_BUILD #define PRINT_DEBUG(a, ...) do {FILE *t = fopen("STEAM_LOG.txt", "a"); fprintf(t, "%u " a, GetCurrentThreadId(), __VA_ARGS__); fclose(t); WSASetLastError(0);} while (0) #endif EXTERN_C IMAGE_DOS_HEADER __ImageBase; #define PATH_SEPARATOR "\\" #ifdef EMU_EXPERIMENTAL_BUILD #include #include "../detours/detours.h" #ifdef DETOURS_64BIT #define DLL_NAME "steam_api64.dll" #else #define DLL_NAME "steam_api.dll" #endif #endif #elif defined(__LINUX__) #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define PATH_MAX_STRING_SIZE 512 #ifndef EMU_RELEASE_BUILD #define PRINT_DEBUG(...) {FILE *t = fopen("STEAM_LOG.txt", "a"); fprintf(t, __VA_ARGS__); fclose(t);} #endif #define PATH_SEPARATOR "/" #endif //#define PRINT_DEBUG(...) fprintf(stdout, __VA_ARGS__) #ifdef EMU_RELEASE_BUILD #define PRINT_DEBUG(...) #endif // C/C++ includes #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include // Other libs includes #include "../json/json.hpp" #include "../controller/gamepad.h" // Steamsdk includes #include "../sdk_includes/steam_api.h" #include "../sdk_includes/steam_gameserver.h" #include "../sdk_includes/steamdatagram_tickets.h" // Emulator includes #include "net.pb.h" #include "settings.h" #include "local_storage.h" #include "network.h" // Emulator defines #define CLIENT_HSTEAMUSER 1 #define SERVER_HSTEAMUSER 1 #define DEFAULT_NAME "Goldberg" #define PROGRAM_NAME "Goldberg SteamEmu" #define DEFAULT_LANGUAGE "english" #define LOBBY_CONNECT_APPID ((uint32)-2) #endif//__INCLUDED_COMMON_INCLUDES__