Added request am41585 (Orangutanz)

This commit is contained in:
Scott Ehlert
2006-07-19 04:23:00 +00:00
parent 49f46a5f4c
commit 1a6f4e08b2
3 changed files with 45 additions and 2 deletions

View File

@ -152,6 +152,16 @@ static cell AMX_NATIVE_CALL amx_glb(AMX *amx, cell *params)
}
MF_LogError(amx, AMX_ERR_NATIVE, "Invalid return type");
}
else if (paramnum == 3)
{
cell size = *(MF_GetAmxAddr(amx, params[4]));
if (Valtype == Ret_PChar)
{
cell *str = MF_GetAmxAddr(amx, params[2]);
return MF_SetAmxString(amx, params[3], STRING((int)*str), size);
}
MF_LogError(amx, AMX_ERR_NATIVE, "Invalid return type");
}
//if we got here, something happened
MF_LogError(amx, AMX_ERR_NATIVE, "Unknown global index or return combination %d", iSwitch);

View File

@ -243,6 +243,8 @@ static cell AMX_NATIVE_CALL amx_pev(AMX *amx,cell *params)
return rets.i;
} else if (ValType == Ret_Float) {
return (cell)rets.f;
} else if (ValType == Ret_String) {
return (cell)rets.s;
} else {
MF_LogError(amx, AMX_ERR_NATIVE, "Invalid return type");
return 0;
@ -304,6 +306,20 @@ static cell AMX_NATIVE_CALL amx_pev(AMX *amx,cell *params)
return MF_SetAmxString(amx, params[3], temp, size);
}
MF_LogError(amx, AMX_ERR_NATIVE, "Invalid return type");
} else if (count == 3) {
cell size = *(MF_GetAmxAddr(amx, params[5]));
if (ValType == Ret_String)
{
const char *str = STRING(rets.s);
cell *addr = MF_GetAmxAddr(amx, params[3]);
*addr = (cell)rets.s;
if (!str)
str = "";
int num = MF_SetAmxString(amx, params[4], str, size);
return num;
}
MF_LogError(amx, AMX_ERR_NATIVE, "Invalid return type");
}