Merge branch 'main' into rotation-behaviors

This commit is contained in:
David Markowitz
2026-09-25 23:49:15 -07:00
287 changed files with 4479 additions and 2795 deletions

View File

@@ -16,8 +16,8 @@
// These are the same define, but they mean two different things in different contexts
// so a different define to distinguish what calculation is happening will help clarity.
#define FRAMES_TO_MS(x) 1000 / x
#define MS_TO_FRAMES(x) 1000 / x
#define FRAMES_TO_MS(x) (1000 / (x))
#define MS_TO_FRAMES(x) (1000 / (x))
//=========== FRAME TIMINGS ===========
constexpr uint32_t highFramerate = 60;
@@ -58,6 +58,7 @@ constexpr LWOCLONEID LWOCLONEID_INVALID = -1; //!< Invalid LWOCLONEID
constexpr LWOINSTANCEID LWOINSTANCEID_INVALID = -1; //!< Invalid LWOINSTANCEID
constexpr LWOMAPID LWOMAPID_INVALID = -1; //!< Invalid LWOMAPID
constexpr uint64_t LWOZONEID_INVALID = 0; //!< Invalid LWOZONEID
constexpr uint32_t MAX_MESSAGE_LENGTH = 0x500000; //!< Prevent exceptionally large msgs from being processed. Should always be used to check user provided inputs.
constexpr float PI = 3.14159265358979323846264338327950288f;
@@ -110,18 +111,6 @@ private:
constexpr LWOSCENEID LWOSCENEID_INVALID = -1;
struct LWONameValue {
uint32_t length = 0; //!< The length of the name
std::u16string name; //!< The name
LWONameValue() = default;
LWONameValue(const std::u16string& name) {
this->name = name;
this->length = static_cast<uint32_t>(name.length());
}
};
struct FriendData {
public:
bool isOnline = false;

View File

@@ -20,7 +20,8 @@ enum class eCharacterVersion : uint32_t {
NJ_JAYMISSIONS,
NEXUS_FORCE_EXPLORER, // Fixes pet ids in player inventories
PET_IDS, // Fixes pet ids in player inventories
UP_TO_DATE, // will become INVENTORY_PERSISTENT_IDS
INVENTORY_PERSISTENT_IDS, // Fixes racing meta missions
UP_TO_DATE, // will become RACING_META_MISSIONS
};
#endif //!__ECHARACTERVERSION__H__

View File

@@ -0,0 +1,26 @@
#ifndef EFUNNESSTYPES_H
#define EFUNNESSTYPES_H
#include <cstdint>
// Most of these are guesses from the client, some are unused (maybe server side only?) and
// some are really hard to pin a definition down for because they are buried in havok stuff
enum class eFunnessTypes : int32_t {
DebuggerActive = 1,
CharacterPosLength = 2,
CharacterVelLength = 5,
CharacterRunMultiplier = 6,
CharacterGravityScale = 7,
Unknown_9 = 9,
Unknown_10 = 10,
RacingBoostTimeTooLong = 12,
SomeRacingManipCheat = 13,
FdbFailedChecksum = 14,
};
struct CaughtFunness {
eFunnessTypes cheatType{};
float cheatInfo{};
};
#endif //!EFUNNESSTYPES_H