RDR-Classes/rage/tlsContext.hpp
maybegreat48 0132075d1c
Netsync stuff (#5)
* feat(metric): add rlMetric

* fix(metric): serializer fix

* feat(tls): add tlsContext

* feat(fwEntity): add entity classes

* fix: add import

* fix(vector): constexpr ctors

* feat(ped): add CPed

* feat(sync): add sync nodes

* feat(netsync): add netSyncDataNode::IsActive

* feat(netsync): first node

* fix: make GetData accessible

* fix: make netSyncDataNode an abstract class

* fix(netsync): the compiler is too smart for its own good

* feat(netsync): add CObjectCreationData

* feat(netsync): add CPlayerAppearanceData

* feat(netsync): CVehicleCreationData

* feat(netsync): add CPickupCreationData

* feat(netsync): add CPhysicalAttachData

* feat(netsync): add CVehicleProximityMigrationData

* feat(netsync): add CPedTaskTreeData

* feat(network): add CScriptedGameEvent

---------
2023-10-09 15:01:36 +02:00

28 lines
536 B
C++

#pragma once
#if _WIN32
#include <intrin.h>
#endif
namespace rage
{
#pragma pack(push, 8)
class tlsContext
{
public:
char pad[0x410]; // 0x0000
int m_SyncThreadIndex; // 0x0410
char pad2[0x12EC]; // 0x0414
bool m_RunningScript; // 0x1700
#if _WIN32
static tlsContext* Get()
{
constexpr std::uint32_t TlsIndex = 0x0;
return *reinterpret_cast<tlsContext**>(__readgsqword(0x58) + TlsIndex);
}
#endif
};
#pragma pack(pop)
static_assert(sizeof(rage::tlsContext) == 0x1704);
}