diff --git a/core/logic/PluginSys.cpp b/core/logic/PluginSys.cpp index 33f1c3af3..74d4161dc 100644 --- a/core/logic/PluginSys.cpp +++ b/core/logic/PluginSys.cpp @@ -330,6 +330,13 @@ bool CPlugin::ReadInfo() else m_MaxClientsVar = nullptr; + if (base->FindPubvarByName("PointerSize", &idx) == SP_ERROR_NONE) { + sp_pubvar_t* var = nullptr; + if (base->GetPubvarByIndex(idx, &var) == SP_ERROR_NONE && var) { + *var->offs = sizeof(void*); + } + } + return true; } diff --git a/plugins/include/virtual_address.inc b/plugins/include/virtual_address.inc index 901959331..04006181f 100644 --- a/plugins/include/virtual_address.inc +++ b/plugins/include/virtual_address.inc @@ -36,3 +36,4 @@ #define _virtual_address_included public const Address __Virtual_Address__ = 0; +public const Address PointerSize = 0; /**< Size of a pointer in bytes (same as `sizeof(void*)`) */