Stand/Stand/gta_matchmaking.hpp
2024-10-16 11:20:42 +08:00

52 lines
1.0 KiB
C++

#pragma once
#include "rlTaskBase.hpp"
#pragma pack(push, 1)
namespace rage
{
struct rlHttpTask : public rlTaskBase
{
};
struct rlRosHttpTask : public rlHttpTask
{
};
struct rlScMatchmakingFindTask : public rlRosHttpTask
{
INIT_PAD(rlRosHttpTask, 0xDF0) uint32_t num_results;
PAD(0xDF0 + 4, 0xDF8) rage::rlSessionInfo* results;
/* 0xE00 */ uint32_t* num_results_out; // can be nullptr
};
static_assert(sizeof(rlScMatchmakingFindTask) == 0xE00 + 8);
struct parTreeNode
{
/* 0x00 */ const char* m_ElementName;
PAD(0x08, 0x28) parTreeNode* m_Next;
/* 0x30 */ parTreeNode* m_Root;
/* 0x38 */ const char* m_Data;
/* 0x40 */ uint32_t m_HasData;
PAD(0x44, 0x48) uint32_t m_NumChildren;
parTreeNode* FindChild(const char* childName)
{
for (auto i = m_Root; i; i = i->m_Next)
{
if (!i)
{
break;
}
if (strcmp(childName, i->m_ElementName) == 0)
{
return i;
}
}
return nullptr;
}
};
static_assert(sizeof(parTreeNode) == 0x48 + 4);
}
#pragma pack(pop)