32 lines
1.4 KiB
C++
32 lines
1.4 KiB
C++
|
#pragma once
|
||
|
#include "scriptHandler.hpp"
|
||
|
#include "scriptHandlerNetComponent.hpp"
|
||
|
#include "scrThreadContext.hpp"
|
||
|
#include "../rage/scrValue.hpp"
|
||
|
|
||
|
namespace rage
|
||
|
{
|
||
|
class scrThread
|
||
|
{
|
||
|
public:
|
||
|
virtual ~scrThread() = default; // 0 (0x00)
|
||
|
virtual void reset(std::uint32_t script_hash, void* args, std::uint32_t arg_count) = 0; // 1 (0x08)
|
||
|
virtual eThreadState run() = 0; // 2 (0x10)
|
||
|
virtual eThreadState tick(std::uint32_t ops_to_execute) = 0; // 3 (0x18)
|
||
|
virtual void kill() = 0;
|
||
|
|
||
|
public:
|
||
|
scrThreadContext m_context; // 0x08
|
||
|
scrValue* m_stack; // 0xB0
|
||
|
char m_padding[0x4]; // 0xB8
|
||
|
uint32_t m_arg_size; // 0xBC
|
||
|
uint32_t m_arg_loc; // 0xC0
|
||
|
char m_padding2[0x4]; // 0xC4
|
||
|
const char* m_exit_message; // 0xC8
|
||
|
char m_pad[0x4]; // 0xD0
|
||
|
char m_name[0x40]; // 0xD4
|
||
|
scriptHandler* m_handler; // 0x118
|
||
|
scriptHandlerNetComponent* m_net_component; // 0x120
|
||
|
};
|
||
|
}
|