#pragma once #pragma warning(disable : 4250) #ifdef LITELOADER_EXPORTS #define LIAPI __declspec(dllexport) #else #define LIAPI __declspec(dllimport) #endif #define MCAPI __declspec(dllimport) #define MCVAPI __declspec(dllimport) #define MCINLINE inline #define MCCLS #ifndef FMT_HEADER_ONLY #define FMT_HEADER_ONLY #endif #ifndef LL_CONSTEXPR #if __cplusplus <= 201703L #define LL_CONSTEXPR inline #else #define LL_CONSTEXPR constexpr #endif #endif /// std containers #include #include #include #include #include #include #include #include #include #include #include #include #include #include // std utils #include #include #include #include #include #include #include #include #include // windows types #include #include "third-party/entt/entt.hpp" #include "third-party/gsl/gsl" #include "third-party/seh_exception/seh_exception.hpp" #include "third-party/FMT/chrono.h" #include "third-party/FMT/color.h" #include "third-party/FMT/core.h" #include "third-party/FMT/os.h" #include "third-party/FMT/printf.h" #include "GlobalServiceAPI.h" #include "Utils/Optional.h" // basic mc types #include "MC/Types.hpp" // clang-format off #define M_E 2.71828182845904523536 // e #define M_LOG2E 1.44269504088896340736 // log2(e) #define M_LOG10E 0.434294481903251827651 // log10(e) #define M_LN2 0.693147180559945309417 // ln(2) #define M_LN10 2.30258509299404568402 // ln(10) #define M_PI 3.14159265358979323846 // pi #define M_PI_2 1.57079632679489661923 // pi/2 #define M_PI_4 0.785398163397448309616 // pi/4 #define M_1_PI 0.318309886183790671538 // 1/pi #define M_2_PI 0.636619772367581343076 // 2/pi #define M_2_SQRTPI 1.12837916709551257390 // 2/sqrt(pi) #define M_SQRT2 1.41421356237309504880 // sqrt(2) #define M_SQRT1_2 0.707106781186547524401 // 1/sqrt(2) // clang-format on using std::map; using std::string; using std::vector;