Fix erroneous __Virtual_Address__ checks

This commit is contained in:
Kenzzer 2025-10-30 21:53:09 +00:00
parent acd162ef91
commit 7b89db285b
No known key found for this signature in database
GPG Key ID: 64C3FD4332686DC1
5 changed files with 12 additions and 12 deletions

View File

@ -865,7 +865,7 @@ enum NumberType
static cell_t LoadFromAddress(IPluginContext *pContext, const cell_t *params)
{
void *addr = reinterpret_cast<void*>(params[1]);
if (pContext->GetRuntime()->FindPubvarByName("__Virtual_Address__", nullptr) != SP_ERROR_NONE) {
if (pContext->GetRuntime()->FindPubvarByName("__Virtual_Address__", nullptr) == SP_ERROR_NONE) {
addr = pseudoAddr.FromPseudoAddress(params[1]);
}
@ -895,7 +895,7 @@ static cell_t LoadFromAddress(IPluginContext *pContext, const cell_t *params)
static cell_t StoreToAddress(IPluginContext *pContext, const cell_t *params)
{
void *addr = reinterpret_cast<void*>(params[1]);
if (pContext->GetRuntime()->FindPubvarByName("__Virtual_Address__", nullptr) != SP_ERROR_NONE) {
if (pContext->GetRuntime()->FindPubvarByName("__Virtual_Address__", nullptr) == SP_ERROR_NONE) {
addr = pseudoAddr.FromPseudoAddress(params[1]);
}
@ -951,7 +951,7 @@ static cell_t StoreToAddress(IPluginContext *pContext, const cell_t *params)
static cell_t LoadAddressFromAddress(IPluginContext *pContext, const cell_t *params)
{
void *addr = reinterpret_cast<void*>(params[1]);
if (pContext->GetRuntime()->FindPubvarByName("__Virtual_Address__", nullptr) != SP_ERROR_NONE) {
if (pContext->GetRuntime()->FindPubvarByName("__Virtual_Address__", nullptr) == SP_ERROR_NONE) {
addr = pseudoAddr.FromPseudoAddress(params[1]);
}
@ -965,7 +965,7 @@ static cell_t LoadAddressFromAddress(IPluginContext *pContext, const cell_t *par
}
void* data = *reinterpret_cast<void**>(addr);
if (pContext->GetRuntime()->FindPubvarByName("__Virtual_Address__", nullptr) != SP_ERROR_NONE) {
if (pContext->GetRuntime()->FindPubvarByName("__Virtual_Address__", nullptr) == SP_ERROR_NONE) {
return pseudoAddr.ToPseudoAddress(data);
}
return reinterpret_cast<uintptr_t>(data);
@ -974,7 +974,7 @@ static cell_t LoadAddressFromAddress(IPluginContext *pContext, const cell_t *par
static cell_t StoreAddressToAddress(IPluginContext *pContext, const cell_t *params)
{
void *addr = reinterpret_cast<void*>(params[1]);
if (pContext->GetRuntime()->FindPubvarByName("__Virtual_Address__", nullptr) != SP_ERROR_NONE) {
if (pContext->GetRuntime()->FindPubvarByName("__Virtual_Address__", nullptr) == SP_ERROR_NONE) {
addr = pseudoAddr.FromPseudoAddress(params[1]);
}
@ -988,7 +988,7 @@ static cell_t StoreAddressToAddress(IPluginContext *pContext, const cell_t *para
}
void *data = reinterpret_cast<void*>(params[2]);
if (pContext->GetRuntime()->FindPubvarByName("__Virtual_Address__", nullptr) != SP_ERROR_NONE) {
if (pContext->GetRuntime()->FindPubvarByName("__Virtual_Address__", nullptr) == SP_ERROR_NONE) {
data = pseudoAddr.FromPseudoAddress(params[2]);
}

View File

@ -725,7 +725,7 @@ static cell_t GetEntDataEnt2(IPluginContext *pContext, const cell_t *params)
static cell_t LoadEntityFromHandleAddress(IPluginContext *pContext, const cell_t *params)
{
void *addr = reinterpret_cast<void*>(params[1]);
if (pContext->GetRuntime()->FindPubvarByName("__Virtual_Address__", nullptr) != SP_ERROR_NONE) {
if (pContext->GetRuntime()->FindPubvarByName("__Virtual_Address__", nullptr) == SP_ERROR_NONE) {
addr = g_SourceMod.FromPseudoAddress(params[1]);
}

View File

@ -123,7 +123,7 @@ cell_t Native_CreateHook(IPluginContext *pContext, const cell_t *params)
cell_t Native_CreateDetour(IPluginContext *pContext, const cell_t *params)
{
void* addr = reinterpret_cast<void*>(params[1]);
if (pContext->GetRuntime()->FindPubvarByName("__Virtual_Address__", nullptr) != SP_ERROR_NONE) {
if (pContext->GetRuntime()->FindPubvarByName("__Virtual_Address__", nullptr) == SP_ERROR_NONE) {
addr = g_pSM->FromPseudoAddress(params[1]);
}
@ -595,7 +595,7 @@ cell_t HookRawImpl(IPluginContext *pContext, const cell_t *params, int callbackI
removalcb = pContext->GetFunctionById(params[removalcbIndex]);
void* iface = reinterpret_cast<void*>(params[3]);
if (pContext->GetRuntime()->FindPubvarByName("__Virtual_Address__", nullptr) != SP_ERROR_NONE) {
if (pContext->GetRuntime()->FindPubvarByName("__Virtual_Address__", nullptr) == SP_ERROR_NONE) {
iface = g_pSM->FromPseudoAddress(params[3]);
}
@ -1519,7 +1519,7 @@ cell_t Native_GetParamAddress(IPluginContext *pContext, const cell_t *params)
size_t offset = GetParamOffset(paramStruct, index);
if (pContext->GetRuntime()->FindPubvarByName("__Virtual_Address__", nullptr) != SP_ERROR_NONE) {
if (pContext->GetRuntime()->FindPubvarByName("__Virtual_Address__", nullptr) == SP_ERROR_NONE) {
return g_pSM->ToPseudoAddress(*(void**)((intptr_t)paramStruct->orgParams + offset));
}
return *(cell_t *)((intptr_t)paramStruct->orgParams + offset);

View File

@ -473,7 +473,7 @@ cell_t GetThisPtr(IPluginContext* pContext, void *iface, ThisPointerType type)
return -1;
return gamehelpers->EntityToBCompatRef((CBaseEntity *)iface);
}
if (pContext->GetRuntime()->FindPubvarByName("__Virtual_Address__", nullptr) != SP_ERROR_NONE) {
if (pContext->GetRuntime()->FindPubvarByName("__Virtual_Address__", nullptr) == SP_ERROR_NONE) {
return g_pSM->ToPseudoAddress(iface);
}
return (cell_t)iface;

View File

@ -173,7 +173,7 @@ static cell_t PrepSDKCall_SetSignature(IPluginContext *pContext, const cell_t *p
static cell_t PrepSDKCall_SetAddress(IPluginContext *pContext, const cell_t *params)
{
s_call_addr = reinterpret_cast<void*>(params[1]);
if (pContext->GetRuntime()->FindPubvarByName("__Virtual_Address__", nullptr) != SP_ERROR_NONE) {
if (pContext->GetRuntime()->FindPubvarByName("__Virtual_Address__", nullptr) == SP_ERROR_NONE) {
s_call_addr = g_pSM->FromPseudoAddress(params[1]);
}