Add NULL_VECTOR
This commit is contained in:
parent
39cc240a4e
commit
fdb180e062
|
@ -157,6 +157,11 @@ int CPluginMngr::loadPluginsFromFile(const char* filename, bool warn)
|
||||||
{
|
{
|
||||||
plugin->m_pNullStringOfs = get_amxaddr(plugin->getAMX(), addr);
|
plugin->m_pNullStringOfs = get_amxaddr(plugin->getAMX(), addr);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (amx_FindPubVar(plugin->getAMX(), "NULL_VECTOR", &addr) != AMX_ERR_NOTFOUND)
|
||||||
|
{
|
||||||
|
plugin->m_pNullVectorOfs = get_amxaddr(plugin->getAMX(), addr);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -261,7 +266,7 @@ const char* CPluginMngr::CPlugin::getStatus() const
|
||||||
return "error";
|
return "error";
|
||||||
}
|
}
|
||||||
|
|
||||||
CPluginMngr::CPlugin::CPlugin(int i, const char* p, const char* n, char* e, int d) : name(n), title(n), m_pNullStringOfs(nullptr)
|
CPluginMngr::CPlugin::CPlugin(int i, const char* p, const char* n, char* e, int d) : name(n), title(n), m_pNullStringOfs(nullptr), m_pNullVectorOfs(nullptr)
|
||||||
{
|
{
|
||||||
const char* unk = "unknown";
|
const char* unk = "unknown";
|
||||||
|
|
||||||
|
|
|
@ -62,6 +62,7 @@ public:
|
||||||
|
|
||||||
bool m_Debug;
|
bool m_Debug;
|
||||||
cell* m_pNullStringOfs;
|
cell* m_pNullStringOfs;
|
||||||
|
cell* m_pNullVectorOfs;
|
||||||
public:
|
public:
|
||||||
inline const char* getName() { return name.c_str();}
|
inline const char* getName() { return name.c_str();}
|
||||||
inline const char* getVersion() { return version.c_str();}
|
inline const char* getVersion() { return version.c_str();}
|
||||||
|
@ -92,6 +93,7 @@ public:
|
||||||
const char* getStatus() const;
|
const char* getStatus() const;
|
||||||
inline bool isDebug() const { return m_Debug; }
|
inline bool isDebug() const { return m_Debug; }
|
||||||
inline cell* getNullStringOfs() const { return m_pNullStringOfs; }
|
inline cell* getNullStringOfs() const { return m_pNullStringOfs; }
|
||||||
|
inline cell* getNullVectorOfs() const { return m_pNullVectorOfs; }
|
||||||
};
|
};
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
|
@ -29,7 +29,7 @@ static cell AMX_NATIVE_CALL get_xvar_id(AMX *amx, cell *params)
|
||||||
char* sName = get_amxstring(amx, params[1], 0, len);
|
char* sName = get_amxstring(amx, params[1], 0, len);
|
||||||
cell ptr;
|
cell ptr;
|
||||||
|
|
||||||
if (!strcmp(sName, "MaxClients") || !strcmp(sName, "NULL_STRING"))
|
if (!strcmp(sName, "MaxClients") || !strcmp(sName, "NULL_STRING") || !strcmp(sName, "NULL_VECTOR"))
|
||||||
{
|
{
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
|
@ -276,7 +276,8 @@ char* format_amxstring(AMX *amx, cell *params, int parm, int& len);
|
||||||
AMX* get_amxscript(int, void**, const char**);
|
AMX* get_amxscript(int, void**, const char**);
|
||||||
const char* get_amxscriptname(AMX* amx);
|
const char* get_amxscriptname(AMX* amx);
|
||||||
char* get_amxstring(AMX *amx, cell amx_addr, int id, int& len);
|
char* get_amxstring(AMX *amx, cell amx_addr, int id, int& len);
|
||||||
char *get_amxstring_null(AMX *amx, cell amx_addr, int id, int& len);
|
char* get_amxstring_null(AMX *amx, cell amx_addr, int id, int& len);
|
||||||
|
cell* get_amxvector_null(AMX *amx, cell amx_addr);
|
||||||
extern "C" size_t get_amxstring_r(AMX *amx, cell amx_addr, char *destination, int maxlen);
|
extern "C" size_t get_amxstring_r(AMX *amx, cell amx_addr, char *destination, int maxlen);
|
||||||
|
|
||||||
int amxstring_len(cell* cstr);
|
int amxstring_len(cell* cstr);
|
||||||
|
|
|
@ -186,6 +186,17 @@ char *get_amxstring_null(AMX *amx, cell amx_addr, int id, int& len)
|
||||||
return get_amxstring(amx, amx_addr, id, len);
|
return get_amxstring(amx, amx_addr, id, len);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
cell *get_amxvector_null(AMX *amx, cell amx_addr)
|
||||||
|
{
|
||||||
|
cell *addr = get_amxaddr(amx, amx_addr);
|
||||||
|
if (addr == g_plugins.findPluginFast(amx)->getNullVectorOfs())
|
||||||
|
{
|
||||||
|
return nullptr;
|
||||||
|
}
|
||||||
|
|
||||||
|
return addr;
|
||||||
|
}
|
||||||
|
|
||||||
void copy_amxmemory(cell* dest, cell* src, int len)
|
void copy_amxmemory(cell* dest, cell* src, int len)
|
||||||
{
|
{
|
||||||
while (len--)
|
while (len--)
|
||||||
|
|
|
@ -49,6 +49,11 @@ public stock const MaxClients;
|
||||||
*/
|
*/
|
||||||
public stock const NULL_STRING[1];
|
public stock const NULL_STRING[1];
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Pass this into certain functions to act as a C++ NULL
|
||||||
|
*/
|
||||||
|
public stock const Float:NULL_VECTOR[3];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The maximum buffer size required to store a clients name.
|
* The maximum buffer size required to store a clients name.
|
||||||
*/
|
*/
|
||||||
|
|
Loading…
Reference in New Issue
Block a user