Fix Windows build errors in warden and CharCreateResult

warden_emulator.cpp: guard unicorn include + entire implementation with
HAVE_UNICORN; provide stub implementations for platforms without Unicorn
(Windows ARM64 which has no unicorn MSYS2 package)

warden_module.cpp: include <windows.h> for VirtualAlloc/HMODULE/etc on
Windows; always include warden_emulator.hpp so unique_ptr destructor compiles
regardless of HAVE_UNICORN

world_packets.hpp + game_handler.cpp: rename CharCreateResult::ERROR to
CharCreateResult::CHAR_ERROR to avoid wingdi.h #define ERROR 0 collision
This commit is contained in:
Kelsi 2026-02-18 18:39:07 -08:00
parent fbb0b76362
commit c0c0210b66
4 changed files with 40 additions and 6 deletions

View file

@ -9,14 +9,18 @@
#include <openssl/bn.h>
#include <openssl/sha.h>
#ifndef _WIN32
#ifdef _WIN32
#ifndef WIN32_LEAN_AND_MEAN
#define WIN32_LEAN_AND_MEAN
#endif
#include <windows.h>
#else
#include <sys/mman.h>
#include <cerrno>
#endif
#ifdef HAVE_UNICORN
#include "game/warden_emulator.hpp"
#endif
// Always include the full definition so unique_ptr<WardenEmulator> destructor compiles
#include "game/warden_emulator.hpp"
namespace wowee {
namespace game {