mirror of
https://github.com/rehlds/reapi.git
synced 2025-04-23 23:03:30 +03:00
get_member, get_member_game, get_entvar, get_movevar: Allow use of output of the Float-variable via the 3rd argument.
This commit is contained in:
parent
1be2b04192
commit
62325d11aa
@ -51,7 +51,7 @@ cell AMX_NATIVE_CALL get_member(AMX *amx, cell *params)
|
|||||||
cell* arg3 = getAmxAddr(amx, params[arg_3]);
|
cell* arg3 = getAmxAddr(amx, params[arg_3]);
|
||||||
|
|
||||||
if (isTypeReturnable(member->type)) {
|
if (isTypeReturnable(member->type)) {
|
||||||
dest = nullptr;
|
dest = (member->type != MEMBER_FLOAT) ? nullptr : arg3;
|
||||||
element = *arg3;
|
element = *arg3;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
@ -116,7 +116,7 @@ cell AMX_NATIVE_CALL get_member_game(AMX *amx, cell *params)
|
|||||||
cell* arg3 = getAmxAddr(amx, params[arg_3]);
|
cell* arg3 = getAmxAddr(amx, params[arg_3]);
|
||||||
|
|
||||||
if (isTypeReturnable(member->type)) {
|
if (isTypeReturnable(member->type)) {
|
||||||
dest = nullptr;
|
dest = (member->type != MEMBER_FLOAT) ? nullptr : arg3;
|
||||||
element = *arg3;
|
element = *arg3;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
@ -194,7 +194,7 @@ cell AMX_NATIVE_CALL get_entvar(AMX *amx, cell *params)
|
|||||||
cell* arg3 = getAmxAddr(amx, params[arg_3]);
|
cell* arg3 = getAmxAddr(amx, params[arg_3]);
|
||||||
|
|
||||||
if (isTypeReturnable(member->type)) {
|
if (isTypeReturnable(member->type)) {
|
||||||
dest = nullptr;
|
dest = (member->type != MEMBER_FLOAT) ? nullptr : arg3;
|
||||||
element = *arg3;
|
element = *arg3;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
@ -256,7 +256,7 @@ cell AMX_NATIVE_CALL get_movevar(AMX *amx, cell *params)
|
|||||||
element = *getAmxAddr(amx, params[arg_3]);
|
element = *getAmxAddr(amx, params[arg_3]);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
dest = nullptr;
|
dest = (member->type != MEMBER_FLOAT) ? nullptr : getAmxAddr(amx, params[arg_3]);
|
||||||
element = 0;
|
element = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -474,8 +474,13 @@ cell get_member(void* pdata, const member_t *member, size_t element, cell* dest)
|
|||||||
}
|
}
|
||||||
case MEMBER_FLOAT:
|
case MEMBER_FLOAT:
|
||||||
case MEMBER_INTEGER:
|
case MEMBER_INTEGER:
|
||||||
// native any:get_member(_index, any:_member, element);
|
{
|
||||||
return get_member<int>(pdata, member->offset, element);
|
auto& ret = get_member<int>(pdata, member->offset, element);
|
||||||
|
if (dest != nullptr) {
|
||||||
|
*dest = ret;
|
||||||
|
}
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
case MEMBER_SHORT:
|
case MEMBER_SHORT:
|
||||||
// native any:get_member(_index, any:_member, element);
|
// native any:get_member(_index, any:_member, element);
|
||||||
return get_member<short>(pdata, member->offset, element);
|
return get_member<short>(pdata, member->offset, element);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user