Skip to content

Commit 1d17078

Browse files
committed
s/get_member: Added support for members with entvars type
1 parent 39e4ba8 commit 1d17078

1 file changed

Lines changed: 13 additions & 5 deletions

File tree

reapi/src/natives/natives_members.cpp

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -895,6 +895,13 @@ cell set_member(AMX *amx, void* pdata, const member_t *member, cell* value, size
895895
set_member<edict_t *>(pdata, member->offset, pEdictValue, element);
896896
return TRUE;
897897
}
898+
case MEMBER_EVARS:
899+
{
900+
// native set_member(_index, any:_member, _value, _elem);
901+
entvars_t *pev = PEV(*value);
902+
set_member<entvars_t *>(pdata, member->offset, pev, element);
903+
return TRUE;
904+
}
898905
case MEMBER_VECTOR:
899906
{
900907
// native set_member(_index, any:_member, Float:_value[3], _elem);
@@ -978,15 +985,12 @@ cell set_member(AMX *amx, void* pdata, const member_t *member, cell* value, size
978985
set_member<TraceResult>(pdata, member->offset, *(TraceResult *)value, element);
979986
return TRUE;
980987
}
981-
982988
case MEMBER_ENTITY:
983-
case MEMBER_EVARS:
984989
case MEBMER_REBUYSTRUCT:
985990
case MEMBER_PMTRACE:
986991
case MEBMER_USERCMD:
987992
AMXX_LogError(amx, AMX_ERR_NATIVE, "%s: member type %s (%s) is not supported", __FUNCTION__, member_t::getTypeString(member->type), member->name);
988993
return FALSE;
989-
990994
default: break;
991995
}
992996

@@ -1020,6 +1024,12 @@ cell get_member(AMX *amx, void* pdata, const member_t *member, cell* dest, size_
10201024
edict_t *pEntity = get_member<edict_t *>(pdata, member->offset, element);
10211025
return pEntity ? indexOfEdict(pEntity) : AMX_NULLENT;
10221026
}
1027+
case MEMBER_EVARS:
1028+
{
1029+
// native any:get_member(_index, any:_member, element);
1030+
entvars_t *pev = get_member<entvars_t *>(pdata, member->offset, element);
1031+
return pev ? indexOfEdict(pev) : AMX_NULLENT;
1032+
}
10231033
case MEMBER_VECTOR:
10241034
{
10251035
// native any:get_member(_index, any:_member, any:output[], element);
@@ -1104,9 +1114,7 @@ cell get_member(AMX *amx, void* pdata, const member_t *member, cell* dest, size_
11041114
pSignals[_State] = signal.GetState();
11051115
return 1;
11061116
}
1107-
11081117
case MEMBER_ENTITY:
1109-
case MEMBER_EVARS:
11101118
AMXX_LogError(amx, AMX_ERR_NATIVE, "%s: member type %s (%s) is not supported", __FUNCTION__, member_t::getTypeString(member->type), member->name);
11111119
return FALSE;
11121120
case MEMBER_TRACERESULT:

0 commit comments

Comments
 (0)