Skip to content

Commit

Permalink
member setters now return their offsets
Browse files Browse the repository at this point in the history
  • Loading branch information
ntoxin66 committed Feb 27, 2016
1 parent 2f8e88f commit b9b9656
Show file tree
Hide file tree
Showing 3 changed files with 34 additions and 34 deletions.
Binary file modified plugins/dynamic.smx
Binary file not shown.
44 changes: 22 additions & 22 deletions scripting/dynamic.sp
Original file line number Diff line number Diff line change
Expand Up @@ -456,7 +456,7 @@ public int Native_Dynamic_SetInt(Handle plugin, int params)
// Get and validate index
int index = GetNativeCell(1);
if (!Dynamic_IsValid(index, true))
return 0;
return INVALID_DYNAMIC_OFFSET;

char membername[DYNAMIC_MEMBERNAME_MAXLEN];
GetNativeString(2, membername, DYNAMIC_MEMBERNAME_MAXLEN);
Expand All @@ -465,7 +465,7 @@ public int Native_Dynamic_SetInt(Handle plugin, int params)

int position; int offset;
if (!GetMemberOffset(array, index, membername, true, position, offset, blocksize, DynamicType_Int))
return 0;
return INVALID_DYNAMIC_OFFSET;

Dynamic_MemberType type = GetMemberType(array, position, offset, blocksize);

Expand All @@ -474,13 +474,13 @@ public int Native_Dynamic_SetInt(Handle plugin, int params)
{
SetMemberDataInt(array, position, offset, blocksize, GetNativeCell(3));
CallOnChangedForward(index, offset, membername, DynamicType_Int);
return 1;
return offset;
}
else if (type == DynamicType_Float)
{
SetMemberDataFloat(array, position, offset, blocksize, float(GetNativeCell(3)));
CallOnChangedForward(index, offset, membername, DynamicType_Float);
return 1;
return offset;
}
else if (type == DynamicType_String)
{
Expand All @@ -489,12 +489,12 @@ public int Native_Dynamic_SetInt(Handle plugin, int params)
IntToString(GetNativeCell(3), buffer, length);
SetMemberDataString(array, position, offset, blocksize, buffer);
CallOnChangedForward(index, offset, membername, DynamicType_String);
return 1;
return offset;
}
else
{
ThrowNativeError(SP_ERROR_NATIVE, "Unsupported member datatype (%d)", type);
return 0;
return INVALID_DYNAMIC_OFFSET;
}
}

Expand Down Expand Up @@ -619,7 +619,7 @@ public int Native_Dynamic_SetFloat(Handle plugin, int params)
// Get and validate index
int index = GetNativeCell(1);
if (!Dynamic_IsValid(index, true))
return 0;
return INVALID_DYNAMIC_OFFSET;

char membername[DYNAMIC_MEMBERNAME_MAXLEN];
GetNativeString(2, membername, DYNAMIC_MEMBERNAME_MAXLEN);
Expand All @@ -628,20 +628,20 @@ public int Native_Dynamic_SetFloat(Handle plugin, int params)

int position; int offset;
if (!GetMemberOffset(data, index, membername, true, position, offset, blocksize, DynamicType_Float))
return 0;
return INVALID_DYNAMIC_OFFSET;

Dynamic_MemberType type = GetMemberType(data, position, offset, blocksize);
if (type == DynamicType_Float)
{
SetMemberDataFloat(data, position, offset, blocksize, GetNativeCell(3));
CallOnChangedForward(index, offset, membername, DynamicType_Float);
return 1;
return offset;
}
else if (type == DynamicType_Int)
{
SetMemberDataInt(data, position, offset, blocksize, RoundToFloor(GetNativeCell(3)));
CallOnChangedForward(index, offset, membername, DynamicType_Int);
return 1;
return offset;
}
else if (type == DynamicType_String)
{
Expand All @@ -650,12 +650,12 @@ public int Native_Dynamic_SetFloat(Handle plugin, int params)
FloatToString(GetNativeCell(3), buffer, length);
SetMemberDataString(data, position, offset, blocksize, buffer);
CallOnChangedForward(index, offset, membername, DynamicType_String);
return 1;
return offset;
}
else
{
ThrowNativeError(SP_ERROR_NATIVE, "Unsupported member datatype (%d)", type);
return 0;
return INVALID_DYNAMIC_OFFSET;
}
}

Expand Down Expand Up @@ -799,7 +799,7 @@ public int Native_Dynamic_SetString(Handle plugin, int params)
// Get and validate index
int index = GetNativeCell(1);
if (!Dynamic_IsValid(index, true))
return 0;
return INVALID_DYNAMIC_OFFSET;

char membername[DYNAMIC_MEMBERNAME_MAXLEN];
GetNativeString(2, membername, DYNAMIC_MEMBERNAME_MAXLEN);
Expand All @@ -815,7 +815,7 @@ public int Native_Dynamic_SetString(Handle plugin, int params)

int position; int offset;
if (!GetMemberOffset(data, index, membername, true, position, offset, blocksize, DynamicType_String, length))
return 0;
return INVALID_DYNAMIC_OFFSET;

Dynamic_MemberType type = GetMemberType(data, position, offset, blocksize);
if (type == DynamicType_String)
Expand All @@ -825,7 +825,7 @@ public int Native_Dynamic_SetString(Handle plugin, int params)
GetNativeString(3, buffer, length);
SetMemberDataString(data, position, offset, blocksize, buffer);
CallOnChangedForward(index, offset, membername, DynamicType_String);
return 1;
return offset;
}
else if (type == DynamicType_Int)
{
Expand All @@ -835,7 +835,7 @@ public int Native_Dynamic_SetString(Handle plugin, int params)
GetNativeString(3, buffer, length);
SetMemberDataInt(data, position, offset, blocksize, StringToInt(buffer));
CallOnChangedForward(index, offset, membername, DynamicType_Int);
return 1;
return offset;
}
else if (type == DynamicType_Float)
{
Expand All @@ -845,12 +845,12 @@ public int Native_Dynamic_SetString(Handle plugin, int params)
GetNativeString(3, buffer, length);
SetMemberDataFloat(data, position, offset, blocksize, StringToFloat(buffer));
CallOnChangedForward(index, offset, membername, DynamicType_Float);
return 1;
return offset;
}
else
{
ThrowNativeError(SP_ERROR_NATIVE, "Unsupported member datatype (%d)", type);
return 0;
return INVALID_DYNAMIC_OFFSET;
}
}

Expand Down Expand Up @@ -1041,7 +1041,7 @@ public int Native_Dynamic_SetObject(Handle plugin, int params)
// Get and validate index
int index = GetNativeCell(1);
if (!Dynamic_IsValid(index, true))
return 0;
return INVALID_DYNAMIC_OFFSET;

char membername[DYNAMIC_MEMBERNAME_MAXLEN];
GetNativeString(2, membername, DYNAMIC_MEMBERNAME_MAXLEN);
Expand All @@ -1050,19 +1050,19 @@ public int Native_Dynamic_SetObject(Handle plugin, int params)

int position; int offset;
if (!GetMemberOffset(array, index, membername, true, position, offset, blocksize, DynamicType_Object))
return 0;
return INVALID_DYNAMIC_OFFSET;

Dynamic_MemberType type = GetMemberType(array, position, offset, blocksize);
if (type == DynamicType_Object)
{
SetMemberDataInt(array, position, offset, blocksize, GetNativeCell(3));
CallOnChangedForward(index, offset, membername, DynamicType_Object);
return 1;
return offset;
}
else
{
ThrowNativeError(SP_ERROR_NATIVE, "Unsupported member datatype (%d)", type);
return 0;
return INVALID_DYNAMIC_OFFSET;
}
}

Expand Down
24 changes: 12 additions & 12 deletions scripting/include/dynamic.inc
Original file line number Diff line number Diff line change
Expand Up @@ -40,24 +40,24 @@ native bool Dynamic_HookChanges(Dynamic obj, DynamicHookCB callback);
native bool Dynamic_UnHookChanges(Dynamic obj, DynamicHookCB callback);

native int Dynamic_GetInt(Dynamic obj, const char[] membername, int defaultvalue=-1);
native bool Dynamic_SetInt(Dynamic obj, const char[] membername, int value);
native int Dynamic_SetInt(Dynamic obj, const char[] membername, int value);
native int Dynamic_GetIntByOffset(Dynamic obj, int offset, int defaultvalue=-1);
native bool Dynamic_SetIntByOffset(Dynamic obj, int offset, int value);

native float Dynamic_GetFloat(Dynamic obj, const char[] membername, float defaultvalue=-1.0);
native bool Dynamic_SetFloat(Dynamic obj, const char[] membername, float value);
native int Dynamic_SetFloat(Dynamic obj, const char[] membername, float value);
native float Dynamic_GetFloatByOffset(Dynamic obj, int offset, float defaultvalue=-1.0);
native bool Dynamic_SetFloatByOffset(Dynamic obj, int offset, float value);

native bool Dynamic_GetString(Dynamic obj, const char[] membername, char[] buffer, int size);
native bool Dynamic_SetString(Dynamic obj, const char[] membername, const char[] value, int length=0);
native int Dynamic_SetString(Dynamic obj, const char[] membername, const char[] value, int length=0);
native int Dynamic_GetStringByOffset(Dynamic obj, int offset, char[] buffer, int size);
native bool Dynamic_SetStringByOffset(Dynamic obj, int offset, const char[] value, int length=0);
native int Dynamic_GetStringLength(Dynamic obj, const char[] membername);
native int Dynamic_GetStringLengthByOffset(Dynamic obj, int offset);

native Dynamic Dynamic_GetObject(Dynamic obj, const char[] membername);
native bool Dynamic_SetObject(Dynamic obj, const char[] membername, Dynamic value);
native int Dynamic_SetObject(Dynamic obj, const char[] membername, Dynamic value);
native Dynamic Dynamic_GetObjectByOffset(Dynamic obj, int offset);
native bool Dynamic_SetObjectByOffset(Dynamic obj, int offset, Dynamic value);

Expand Down Expand Up @@ -94,9 +94,9 @@ methodmap Dynamic
return Dynamic_GetInt(this, membername, defaultvalue);
}

public void SetInt(const char[] membername, int value)
public int SetInt(const char[] membername, int value)
{
Dynamic_SetInt(this, membername, value);
return Dynamic_SetInt(this, membername, value);
}

public int GetIntByOffset(int offset, int defaultvalue=-1)
Expand All @@ -114,9 +114,9 @@ methodmap Dynamic
return Dynamic_GetFloat(this, membername, defaultvalue);
}

public void SetFloat(const char[] membername, float value)
public int SetFloat(const char[] membername, float value)
{
Dynamic_SetFloat(this, membername, value);
return Dynamic_SetFloat(this, membername, value);
}

public float GetFloatByOffset(int offset, float defaultvalue=-1.0)
Expand All @@ -134,9 +134,9 @@ methodmap Dynamic
return Dynamic_GetString(this, membername, buffer, length);
}

public void SetString(const char[] membername, const char[] value, int length=0)
public int SetString(const char[] membername, const char[] value, int length=0)
{
Dynamic_SetString(this, membername, value, length);
return Dynamic_SetString(this, membername, value, length);
}

public int GetStringByOffset(int offset, char[] buffer, int length)
Expand Down Expand Up @@ -164,9 +164,9 @@ methodmap Dynamic
return Dynamic_GetObject(this, membername);
}

public void SetObject(const char[] membername, Dynamic value)
public int SetObject(const char[] membername, Dynamic value)
{
Dynamic_SetObject(this, membername, value);
return Dynamic_SetObject(this, membername, value);
}

public Dynamic GetObjectByOffset(int offset)
Expand Down

0 comments on commit b9b9656

Please sign in to comment.