// This is included by any decompiled source file #ifndef B8D59B54_1674_4C0F_AA2C_611385FF5D03 #define B8D59B54_1674_4C0F_AA2C_611385FF5D03 #include "static_mem.h" #include "base.h" #include #include #ifdef _WIN32 #include #include #else #include #endif template struct Field {}; template struct _FieldBinderSizeTraits { using type = undefined; }; template <> struct _FieldBinderSizeTraits<4> { using type = undefined4; }; template <> struct _FieldBinderSizeTraits<2> { using type = undefined2; }; template <> struct _FieldBinderSizeTraits<3> { using type = undefined3; }; template struct FieldBinder { void *dst; using ExpectedType = typename _FieldBinderSizeTraits::type; operator ExpectedType &() const { return *reinterpret_cast(dst); } template T *operator=(T *src) { union V { T *a; void *b; }; V *trick = reinterpret_cast(this); return trick->a = src; } ExpectedType &operator=(ExpectedType src) { return *reinterpret_cast(dst) = src; } ExpectedType &operator=(FieldBinder &other) { return *reinterpret_cast(dst) = *reinterpret_cast(other.dst); } }; template inline FieldBinder operator+(const void *str, Field offset) { return FieldBinder{.dst = (uint8_t *)str + Offset}; } typedef uint32_t cc_type_t; template inline constexpr undefined3 CONCAT12(T0 a, T1 b) { return undefined3(cc_type_t(a) << 16 | cc_type_t(b)); } template inline constexpr cc_type_t CONCAT11(T0 a, T1 b) { return cc_type_t(a) << 8 | cc_type_t(b); } template inline constexpr cc_type_t CONCAT21(T0 a, T1 b) { return cc_type_t(a) << 8 | cc_type_t(b); } template inline constexpr cc_type_t CONCAT22(T0 a, T1 b) { return cc_type_t(a) << 16 | cc_type_t(b); } template inline constexpr cc_type_t CONCAT23(T0 a, T1 b) { return cc_type_t(a) << 24 | cc_type_t(b); } template inline constexpr cc_type_t CONCAT31(T0 a, T1 b) { return cc_type_t(a) << 8 | cc_type_t(b); } template inline constexpr char SUB21(T0 a, size_t b) { return cc_type_t(a) >> (b * 8); } template inline constexpr char SUB41(T0 a, size_t b) { return cc_type_t(a) >> (b * 8); } template inline constexpr uint16_t SUB42(T0 a, size_t b) { return cc_type_t(a) >> (b * 8); } inline longlong r3_ftol(float a) { return (longlong)a; } constexpr byte R3ModId_not_initialized = 0xff; #include "stubexcept.h" #endif /* B8D59B54_1674_4C0F_AA2C_611385FF5D03 */