mirror of
https://github.com/jason-e/rngfix.git
synced 2025-12-06 18:08:33 +00:00
44 lines
1.0 KiB
C++
44 lines
1.0 KiB
C++
#include "extension.h"
|
|
|
|
MarkTouching g_MarkTouching; /**< Global singleton for extension's main interface */
|
|
IServerGameEnts *gameents = NULL;
|
|
|
|
SMEXT_LINK(&g_MarkTouching);
|
|
|
|
void MarkTouching::SDK_OnAllLoaded()
|
|
{
|
|
sharesys->AddNatives(myself, MyNatives);
|
|
}
|
|
|
|
bool MarkTouching::SDK_OnMetamodLoad(ISmmAPI *ismm, char *error, size_t maxlen, bool late)
|
|
{
|
|
GET_V_IFACE_ANY(GetServerFactory, gameents, IServerGameEnts, INTERFACEVERSION_SERVERGAMEENTS);
|
|
|
|
return true;
|
|
}
|
|
|
|
cell_t MarkEntitiesAsTouching(IPluginContext *pContext, const cell_t *params)
|
|
{
|
|
edict_t *pEdict1 = gamehelpers->EdictOfIndex(params[1]);
|
|
if (!pEdict1 || pEdict1->IsFree())
|
|
{
|
|
return pContext->ThrowNativeError("Entity %d is invalid", params[1]);
|
|
}
|
|
|
|
edict_t *pEdict2 = gamehelpers->EdictOfIndex(params[2]);
|
|
if (!pEdict2 || pEdict2->IsFree())
|
|
{
|
|
return pContext->ThrowNativeError("Entity %d is invalid", params[2]);
|
|
}
|
|
|
|
gameents->MarkEntitiesAsTouching(pEdict1, pEdict2);
|
|
|
|
return true;
|
|
}
|
|
|
|
sp_nativeinfo_t MyNatives[] =
|
|
{
|
|
{"MarkEntitiesAsTouching", MarkEntitiesAsTouching},
|
|
{NULL, NULL},
|
|
};
|