diff --git a/include/game/world_packets.hpp b/include/game/world_packets.hpp index c3e63c5c..ef60f977 100644 --- a/include/game/world_packets.hpp +++ b/include/game/world_packets.hpp @@ -176,6 +176,11 @@ public: // ============================================================ // WoW 3.3.5a ResponseCodes for character creation (from ResponseCodes enum) +// Windows wingdi.h defines ERROR as 0; undefine it for this enum scope. +#ifdef _WIN32 +#pragma push_macro("ERROR") +#undef ERROR +#endif enum class CharCreateResult : uint8_t { // Success codes SUCCESS = 0x2F, // CHAR_CREATE_SUCCESS @@ -224,6 +229,9 @@ enum class CharCreateResult : uint8_t { NAME_RUSSIAN_SILENT_AT_BEGIN_OR_END = 0x66, // CHAR_NAME_RUSSIAN_SILENT_CHARACTER_AT_BEGINNING_OR_END NAME_DECLENSION_DOESNT_MATCH = 0x67, // CHAR_NAME_DECLENSION_DOESNT_MATCH_BASE_NAME }; +#ifdef _WIN32 +#pragma pop_macro("ERROR") +#endif struct CharCreateData { std::string name; diff --git a/include/platform/process.hpp b/include/platform/process.hpp index 039723d5..0fa9e981 100644 --- a/include/platform/process.hpp +++ b/include/platform/process.hpp @@ -13,7 +13,7 @@ #include using ProcessHandle = HANDLE; - inline constexpr ProcessHandle INVALID_PROCESS = INVALID_HANDLE_VALUE; + inline const ProcessHandle INVALID_PROCESS = INVALID_HANDLE_VALUE; #else #include diff --git a/src/core/logger.cpp b/src/core/logger.cpp index 6073f797..10e52b6f 100644 --- a/src/core/logger.cpp +++ b/src/core/logger.cpp @@ -35,7 +35,11 @@ void Logger::log(LogLevel level, const std::string& message) { now.time_since_epoch()) % 1000; std::tm tm; +#ifdef _WIN32 + localtime_s(&tm, &time); +#else localtime_r(&time, &tm); +#endif // Format: [YYYY-MM-DD HH:MM:SS.mmm] [LEVEL] message std::ostringstream line;