Skip to content

Commit

Permalink
Fix set_pmove/get_pmove natives. Related #119
Browse files Browse the repository at this point in the history
  • Loading branch information
s1lentq committed Sep 3, 2019
1 parent bba0631 commit 31cea91
Showing 1 changed file with 30 additions and 5 deletions.
35 changes: 30 additions & 5 deletions reapi/src/natives/natives_members.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -297,7 +297,7 @@ cell AMX_NATIVE_CALL set_pmove(AMX *amx, cell *params)
}

cell* value = getAmxAddr(amx, params[arg_value]);
size_t element = (PARAMS_COUNT == 4) ? *getAmxAddr(amx, params[arg_elem]) : 0;
size_t element = (PARAMS_COUNT == 3) ? *getAmxAddr(amx, params[arg_elem]) : 0;

return set_member(g_pMove, member, value, element);
}
Expand Down Expand Up @@ -325,18 +325,43 @@ cell AMX_NATIVE_CALL get_pmove(AMX *amx, cell *params)
size_t element;
size_t length;

if (PARAMS_COUNT == 3) {
if (member->type == MEMBER_STRING) {
if (PARAMS_COUNT == 3)
{
if (member->type == MEMBER_STRING)
{
dest = getAmxAddr(amx, params[arg_2]);
length = *getAmxAddr(amx, params[arg_3]);
element = 0;
} else {
}
else
{
dest = getAmxAddr(amx, params[arg_2]);
element = *getAmxAddr(amx, params[arg_3]);
length = 0;
}
}
else {
else if (PARAMS_COUNT == 2)
{
cell *arg2 = getAmxAddr(amx, params[arg_2]);
if (member->isTypeReturnable())
{
if (member->type == MEMBER_FLOAT) {
dest = arg2;
element = 0;
} else {
dest = nullptr;
element = *arg2;
}
}
else {
dest = arg2;
element = 0;
}

length = 0;
}
else
{
dest = nullptr;
element = 0;
length = 0;
Expand Down

0 comments on commit 31cea91

Please sign in to comment.