Updated for NWNEE 37-13

Updated for NWNEE 37-13.  Updated NWNxEE.  Full compile. Updated release archive.
This commit is contained in:
Jaysyn904
2025-01-10 20:29:31 -05:00
parent a8639499df
commit 82994dfc26
447 changed files with 10620 additions and 6020 deletions

View File

@@ -2,15 +2,17 @@
/// @brief Provides a number of data structures for NWN code to use (simulated arrays)
/// @{
/// @file nwnx_data.nss
#include "nwnx"
const string NWNX_Data = "NWNX_Data"; ///< @private
#include "inc_array"
const int NWNX_DATA_INVALID_INDEX = -1;
const int NWNX_DATA_TYPE_FLOAT = 0;
const int NWNX_DATA_TYPE_INTEGER = 1;
const int NWNX_DATA_TYPE_OBJECT = 2;
const int NWNX_DATA_TYPE_STRING = 3;
// All these calls just pass through to the Array code in inc_array to provide
// an NWNX_Data compatible API for ease of transition.
const int NWNX_DATA_INVALID_INDEX = INVALID_INDEX;
const int NWNX_DATA_TYPE_FLOAT = TYPE_FLOAT;
const int NWNX_DATA_TYPE_INTEGER = TYPE_INTEGER;
const int NWNX_DATA_TYPE_OBJECT = TYPE_OBJECT;
const int NWNX_DATA_TYPE_STRING = TYPE_STRING;
/// @defgroup data_array_at Array At
/// @brief Returns the element at the index.
@@ -20,10 +22,10 @@ const int NWNX_DATA_TYPE_STRING = 3;
/// @param index The index.
/// @return The element of associated type.
/// @{
float NWNX_Data_Array_At_Flt(object obj, string tag, int index);
int NWNX_Data_Array_At_Int(object obj, string tag, int index);
object NWNX_Data_Array_At_Obj(object obj, string tag, int index);
string NWNX_Data_Array_At_Str(object obj, string tag, int index);
float NWNX_Data_Array_At_Flt(object obj, string tag, int index);
int NWNX_Data_Array_At_Int(object obj, string tag, int index);
object NWNX_Data_Array_At_Obj(object obj, string tag, int index);
/// @}
@@ -38,8 +40,8 @@ void NWNX_Data_Array_Clear(int type, object obj, string tag);
/// @param element The element.
/// @return TRUE if the collection contains the element.
/// @{
int NWNX_Data_Array_Contains_Flt(object obj, string tag, float element);
int NWNX_Data_Array_Contains_Int(object obj, string tag, int element);
int NWNX_Data_Array_Contains_Flt(object obj, string tag, float element);
int NWNX_Data_Array_Contains_Int(object obj, string tag, int element);
int NWNX_Data_Array_Contains_Obj(object obj, string tag, object element);
int NWNX_Data_Array_Contains_Str(object obj, string tag, string element);
/// @}
@@ -58,8 +60,8 @@ void NWNX_Data_Array_Erase(int type, object obj, string tag, int index);
/// @param element The element.
/// @return Returns the index at which the element is located, or ARRAY_INVALID_INDEX.
/// @{
int NWNX_Data_Array_Find_Flt(object obj, string tag, float element);
int NWNX_Data_Array_Find_Int(object obj, string tag, int element);
int NWNX_Data_Array_Find_Flt(object obj, string tag, float element);
int NWNX_Data_Array_Find_Int(object obj, string tag, int element);
int NWNX_Data_Array_Find_Obj(object obj, string tag, object element);
int NWNX_Data_Array_Find_Str(object obj, string tag, string element);
/// @}
@@ -72,8 +74,8 @@ int NWNX_Data_Array_Find_Str(object obj, string tag, string element);
/// @param index The index.
/// @param element The element.
/// @{
void NWNX_Data_Array_Insert_Flt(object obj, string tag, int index, float element);
void NWNX_Data_Array_Insert_Int(object obj, string tag, int index, int element);
void NWNX_Data_Array_Insert_Flt(object obj, string tag, int index, float element);
void NWNX_Data_Array_Insert_Int(object obj, string tag, int index, int element);
void NWNX_Data_Array_Insert_Obj(object obj, string tag, int index, object element);
void NWNX_Data_Array_Insert_Str(object obj, string tag, int index, string element);
/// @}
@@ -86,8 +88,8 @@ void NWNX_Data_Array_Insert_Str(object obj, string tag, int index, string elemen
/// @param tag The tag.
/// @param element The element.
/// @{
void NWNX_Data_Array_PushBack_Flt(object obj, string tag, float element);
void NWNX_Data_Array_PushBack_Int(object obj, string tag, int element);
void NWNX_Data_Array_PushBack_Flt(object obj, string tag, float element);
void NWNX_Data_Array_PushBack_Int(object obj, string tag, int element);
void NWNX_Data_Array_PushBack_Obj(object obj, string tag, object element);
void NWNX_Data_Array_PushBack_Str(object obj, string tag, string element);
/// @}
@@ -115,346 +117,235 @@ void NWNX_Data_Array_SortDescending(int type, object obj, string tag);
/// @param index The index.
/// @param element The element.
/// @{
void NWNX_Data_Array_Set_Flt(object obj, string tag, int index, float element);
void NWNX_Data_Array_Set_Int(object obj, string tag, int index, int element);
void NWNX_Data_Array_Set_Flt(object obj, string tag, int index, float element);
void NWNX_Data_Array_Set_Int(object obj, string tag, int index, int element);
void NWNX_Data_Array_Set_Obj(object obj, string tag, int index, object element);
void NWNX_Data_Array_Set_Str(object obj, string tag, int index, string element);
/// @}
/// @}
////////////////////////////////////////////////////////////////////////////////
// return the value contained in location "index"
string NWNX_Data_Array_At_Str(object obj, string tag, int index)
{
WriteTimestampedLogEntry("WARNING: NWNX_Data is deprecated. You should migrate to Array (see inc_array)");
return Array_At_Str(tag, index, obj);
}
float NWNX_Data_Array_At_Flt(object obj, string tag, int index)
{
string sFunc = "ArrayAt";
NWNX_PushArgumentInt(NWNX_Data, sFunc, index);
NWNX_PushArgumentString(NWNX_Data, sFunc, tag);
NWNX_PushArgumentObject(NWNX_Data, sFunc, obj);
NWNX_PushArgumentInt(NWNX_Data, sFunc, NWNX_DATA_TYPE_FLOAT);
NWNX_CallFunction(NWNX_Data, sFunc);
return NWNX_GetReturnValueFloat(NWNX_Data, sFunc);
WriteTimestampedLogEntry("WARNING: NWNX_Data is deprecated. You should migrate to Array (see inc_array)");
return Array_At_Flt(tag, index, obj);
}
int NWNX_Data_Array_At_Int(object obj, string tag, int index)
{
string sFunc = "ArrayAt";
NWNX_PushArgumentInt(NWNX_Data, sFunc, index);
NWNX_PushArgumentString(NWNX_Data, sFunc, tag);
NWNX_PushArgumentObject(NWNX_Data, sFunc, obj);
NWNX_PushArgumentInt(NWNX_Data, sFunc, NWNX_DATA_TYPE_INTEGER);
NWNX_CallFunction(NWNX_Data, sFunc);
return NWNX_GetReturnValueInt(NWNX_Data, sFunc);
WriteTimestampedLogEntry("WARNING: NWNX_Data is deprecated. You should migrate to Array (see inc_array)");
return Array_At_Int(tag, index, obj);
}
object NWNX_Data_Array_At_Obj(object obj, string tag, int index)
{
string sFunc = "ArrayAt";
NWNX_PushArgumentInt(NWNX_Data, sFunc, index);
NWNX_PushArgumentString(NWNX_Data, sFunc, tag);
NWNX_PushArgumentObject(NWNX_Data, sFunc, obj);
NWNX_PushArgumentInt(NWNX_Data, sFunc, NWNX_DATA_TYPE_OBJECT);
NWNX_CallFunction(NWNX_Data, sFunc);
return NWNX_GetReturnValueObject(NWNX_Data, sFunc);
}
string NWNX_Data_Array_At_Str(object obj, string tag, int index)
{
string sFunc = "ArrayAt";
NWNX_PushArgumentInt(NWNX_Data, sFunc, index);
NWNX_PushArgumentString(NWNX_Data, sFunc, tag);
NWNX_PushArgumentObject(NWNX_Data, sFunc, obj);
NWNX_PushArgumentInt(NWNX_Data, sFunc, NWNX_DATA_TYPE_STRING);
NWNX_CallFunction(NWNX_Data, sFunc);
return NWNX_GetReturnValueString(NWNX_Data, sFunc);
WriteTimestampedLogEntry("WARNING: NWNX_Data is deprecated. You should migrate to Array (see inc_array)");
return Array_At_Obj(tag, index, obj);
}
void NWNX_Data_Array_Clear(int type, object obj, string tag)
{
string sFunc = "ArrayClear";
NWNX_PushArgumentString(NWNX_Data, sFunc, tag);
NWNX_PushArgumentObject(NWNX_Data, sFunc, obj);
NWNX_PushArgumentInt(NWNX_Data, sFunc, type);
NWNX_CallFunction(NWNX_Data, sFunc);
WriteTimestampedLogEntry("WARNING: NWNX_Data is deprecated. You should migrate to Array (see inc_array)");
Array_Clear(tag, obj);
}
////////////////////////////////////////////////////////////////////////////////
// Return true/value (1/0) if the array contains the value "element"
int NWNX_Data_Array_Contains_Str(object obj, string tag, string element)
{
WriteTimestampedLogEntry("WARNING: NWNX_Data is deprecated. You should migrate to Array (see inc_array)");
return Array_Contains_Str(tag, element, obj);
}
int NWNX_Data_Array_Contains_Flt(object obj, string tag, float element)
{
string sFunc = "ArrayContains";
NWNX_PushArgumentFloat(NWNX_Data, sFunc, element);
NWNX_PushArgumentString(NWNX_Data, sFunc, tag);
NWNX_PushArgumentObject(NWNX_Data, sFunc, obj);
NWNX_PushArgumentInt(NWNX_Data, sFunc, NWNX_DATA_TYPE_FLOAT);
NWNX_CallFunction(NWNX_Data, sFunc);
return NWNX_GetReturnValueInt(NWNX_Data, sFunc);
WriteTimestampedLogEntry("WARNING: NWNX_Data is deprecated. You should migrate to Array (see inc_array)");
return Array_Contains_Flt(tag, element, obj);
}
int NWNX_Data_Array_Contains_Int(object obj, string tag, int element)
{
string sFunc = "ArrayContains";
NWNX_PushArgumentInt(NWNX_Data, sFunc, element);
NWNX_PushArgumentString(NWNX_Data, sFunc, tag);
NWNX_PushArgumentObject(NWNX_Data, sFunc, obj);
NWNX_PushArgumentInt(NWNX_Data, sFunc, NWNX_DATA_TYPE_INTEGER);
NWNX_CallFunction(NWNX_Data, sFunc);
return NWNX_GetReturnValueInt(NWNX_Data, sFunc);
WriteTimestampedLogEntry("WARNING: NWNX_Data is deprecated. You should migrate to Array (see inc_array)");
return Array_Contains_Int(tag, element, obj);
}
int NWNX_Data_Array_Contains_Obj(object obj, string tag, object element)
{
string sFunc = "ArrayContains";
NWNX_PushArgumentObject(NWNX_Data, sFunc, element);
NWNX_PushArgumentString(NWNX_Data, sFunc, tag);
NWNX_PushArgumentObject(NWNX_Data, sFunc, obj);
NWNX_PushArgumentInt(NWNX_Data, sFunc, NWNX_DATA_TYPE_OBJECT);
NWNX_CallFunction(NWNX_Data, sFunc);
return NWNX_GetReturnValueInt(NWNX_Data, sFunc);
WriteTimestampedLogEntry("WARNING: NWNX_Data is deprecated. You should migrate to Array (see inc_array)");
return Array_Contains_Obj(tag, element, obj);
}
int NWNX_Data_Array_Contains_Str(object obj, string tag, string element)
{
string sFunc = "ArrayContains";
NWNX_PushArgumentString(NWNX_Data, sFunc, element);
NWNX_PushArgumentString(NWNX_Data, sFunc, tag);
NWNX_PushArgumentObject(NWNX_Data, sFunc, obj);
NWNX_PushArgumentInt(NWNX_Data, sFunc, NWNX_DATA_TYPE_STRING);
NWNX_CallFunction(NWNX_Data, sFunc);
return NWNX_GetReturnValueInt(NWNX_Data, sFunc);
}
////////////////////////////////////////////////////////////////////////////////
void NWNX_Data_Array_Copy(int type, object obj, string tag, string otherTag)
{
string sFunc = "ArrayCopy";
NWNX_PushArgumentString(NWNX_Data, sFunc, otherTag);
NWNX_PushArgumentString(NWNX_Data, sFunc, tag);
NWNX_PushArgumentObject(NWNX_Data, sFunc, obj);
NWNX_PushArgumentInt(NWNX_Data, sFunc, type);
NWNX_CallFunction(NWNX_Data, sFunc);
WriteTimestampedLogEntry("WARNING: NWNX_Data is deprecated. You should migrate to Array (see inc_array)");
Array_Copy(tag, otherTag, obj);
}
////////////////////////////////////////////////////////////////////////////////
void NWNX_Data_Array_Erase(int type, object obj, string tag, int index)
{
string sFunc = "ArrayErase";
NWNX_PushArgumentInt(NWNX_Data, sFunc, index);
NWNX_PushArgumentString(NWNX_Data, sFunc, tag);
NWNX_PushArgumentObject(NWNX_Data, sFunc, obj);
NWNX_PushArgumentInt(NWNX_Data, sFunc, type);
NWNX_CallFunction(NWNX_Data, sFunc);
WriteTimestampedLogEntry("WARNING: NWNX_Data is deprecated. You should migrate to Array (see inc_array)");
Array_Erase(tag, index, obj);
}
////////////////////////////////////////////////////////////////////////////////
// return the index in the array containing "element"
// if not found, return NWNX_DATA_INVALID_INDEX
int NWNX_Data_Array_Find_Str(object obj, string tag, string element)
{
WriteTimestampedLogEntry("WARNING: NWNX_Data is deprecated. You should migrate to Array (see inc_array)");
return Array_Find_Str(tag, element, obj);
}
int NWNX_Data_Array_Find_Flt(object obj, string tag, float element)
{
string sFunc = "ArrayFind";
NWNX_PushArgumentFloat(NWNX_Data, sFunc, element);
NWNX_PushArgumentString(NWNX_Data, sFunc, tag);
NWNX_PushArgumentObject(NWNX_Data, sFunc, obj);
NWNX_PushArgumentInt(NWNX_Data, sFunc, NWNX_DATA_TYPE_FLOAT);
NWNX_CallFunction(NWNX_Data, sFunc);
return NWNX_GetReturnValueInt(NWNX_Data, sFunc);
WriteTimestampedLogEntry("WARNING: NWNX_Data is deprecated. You should migrate to Array (see inc_array)");
return Array_Find_Flt(tag, element, obj);
}
int NWNX_Data_Array_Find_Int(object obj, string tag, int element)
{
string sFunc = "ArrayFind";
NWNX_PushArgumentInt(NWNX_Data, sFunc, element);
NWNX_PushArgumentString(NWNX_Data, sFunc, tag);
NWNX_PushArgumentObject(NWNX_Data, sFunc, obj);
NWNX_PushArgumentInt(NWNX_Data, sFunc, NWNX_DATA_TYPE_INTEGER);
NWNX_CallFunction(NWNX_Data, sFunc);
return NWNX_GetReturnValueInt(NWNX_Data, sFunc);
WriteTimestampedLogEntry("WARNING: NWNX_Data is deprecated. You should migrate to Array (see inc_array)");
return Array_Find_Int(tag, element, obj);
}
int NWNX_Data_Array_Find_Obj(object obj, string tag, object element)
{
string sFunc = "ArrayFind";
NWNX_PushArgumentObject(NWNX_Data, sFunc, element);
NWNX_PushArgumentString(NWNX_Data, sFunc, tag);
NWNX_PushArgumentObject(NWNX_Data, sFunc, obj);
NWNX_PushArgumentInt(NWNX_Data, sFunc, NWNX_DATA_TYPE_OBJECT);
NWNX_CallFunction(NWNX_Data, sFunc);
return NWNX_GetReturnValueInt(NWNX_Data, sFunc);
WriteTimestampedLogEntry("WARNING: NWNX_Data is deprecated. You should migrate to Array (see inc_array)");
return Array_Find_Obj(tag, element, obj);
}
int NWNX_Data_Array_Find_Str(object obj, string tag, string element)
////////////////////////////////////////////////////////////////////////////////
// Insert a new element into position 'index'. If index is beyond the number of rows in the array,
// this will quietly fail. This could be changed if you wanted to support sparse
// arrays.
void NWNX_Data_Array_Insert_Str(object obj, string tag, int index, string element)
{
string sFunc = "ArrayFind";
NWNX_PushArgumentString(NWNX_Data, sFunc, element);
NWNX_PushArgumentString(NWNX_Data, sFunc, tag);
NWNX_PushArgumentObject(NWNX_Data, sFunc, obj);
NWNX_PushArgumentInt(NWNX_Data, sFunc, NWNX_DATA_TYPE_STRING);
NWNX_CallFunction(NWNX_Data, sFunc);
return NWNX_GetReturnValueInt(NWNX_Data, sFunc);
WriteTimestampedLogEntry("WARNING: NWNX_Data is deprecated. You should migrate to Array (see inc_array)");
Array_Insert_Str(tag, index, element, obj);
}
void NWNX_Data_Array_Insert_Flt(object obj, string tag, int index, float element)
{
string sFunc = "ArrayInsert";
NWNX_PushArgumentFloat(NWNX_Data, sFunc, element);
NWNX_PushArgumentInt(NWNX_Data, sFunc, index);
NWNX_PushArgumentString(NWNX_Data, sFunc, tag);
NWNX_PushArgumentObject(NWNX_Data, sFunc, obj);
NWNX_PushArgumentInt(NWNX_Data, sFunc, NWNX_DATA_TYPE_FLOAT);
NWNX_CallFunction(NWNX_Data, sFunc);
WriteTimestampedLogEntry("WARNING: NWNX_Data is deprecated. You should migrate to Array (see inc_array)");
Array_Insert_Flt(tag, index, element, obj);
}
void NWNX_Data_Array_Insert_Int(object obj, string tag, int index, int element)
{
string sFunc = "ArrayInsert";
NWNX_PushArgumentInt(NWNX_Data, sFunc, element);
NWNX_PushArgumentInt(NWNX_Data, sFunc, index);
NWNX_PushArgumentString(NWNX_Data, sFunc, tag);
NWNX_PushArgumentObject(NWNX_Data, sFunc, obj);
NWNX_PushArgumentInt(NWNX_Data, sFunc, NWNX_DATA_TYPE_INTEGER);
NWNX_CallFunction(NWNX_Data, sFunc);
WriteTimestampedLogEntry("WARNING: NWNX_Data is deprecated. You should migrate to Array (see inc_array)");
Array_Insert_Int(tag, index, element, obj);
}
void NWNX_Data_Array_Insert_Obj(object obj, string tag, int index, object element)
{
string sFunc = "ArrayInsert";
NWNX_PushArgumentObject(NWNX_Data, sFunc, element);
NWNX_PushArgumentInt(NWNX_Data, sFunc, index);
NWNX_PushArgumentString(NWNX_Data, sFunc, tag);
NWNX_PushArgumentObject(NWNX_Data, sFunc, obj);
NWNX_PushArgumentInt(NWNX_Data, sFunc, NWNX_DATA_TYPE_OBJECT);
NWNX_CallFunction(NWNX_Data, sFunc);
WriteTimestampedLogEntry("WARNING: NWNX_Data is deprecated. You should migrate to Array (see inc_array)");
Array_Insert_Obj(tag, index, element, obj);
}
void NWNX_Data_Array_Insert_Str(object obj, string tag, int index, string element)
////////////////////////////////////////////////////////////////////////////////
// Insert a new element at the end of the array.
void NWNX_Data_Array_PushBack_Str(object obj, string tag, string element)
{
string sFunc = "ArrayInsert";
NWNX_PushArgumentString(NWNX_Data, sFunc, element);
NWNX_PushArgumentInt(NWNX_Data, sFunc, index);
NWNX_PushArgumentString(NWNX_Data, sFunc, tag);
NWNX_PushArgumentObject(NWNX_Data, sFunc, obj);
NWNX_PushArgumentInt(NWNX_Data, sFunc, NWNX_DATA_TYPE_STRING);
NWNX_CallFunction(NWNX_Data, sFunc);
WriteTimestampedLogEntry("WARNING: NWNX_Data is deprecated. You should migrate to Array (see inc_array)");
Array_PushBack_Str(tag, element, obj);
}
void NWNX_Data_Array_PushBack_Flt(object obj, string tag, float element)
{
string sFunc = "ArrayPushBack";
NWNX_PushArgumentFloat(NWNX_Data, sFunc, element);
NWNX_PushArgumentString(NWNX_Data, sFunc, tag);
NWNX_PushArgumentObject(NWNX_Data, sFunc, obj);
NWNX_PushArgumentInt(NWNX_Data, sFunc, NWNX_DATA_TYPE_FLOAT);
NWNX_CallFunction(NWNX_Data, sFunc);
WriteTimestampedLogEntry("WARNING: NWNX_Data is deprecated. You should migrate to Array (see inc_array)");
Array_PushBack_Flt(tag, element, obj);
}
void NWNX_Data_Array_PushBack_Int(object obj, string tag, int element)
{
string sFunc = "ArrayPushBack";
NWNX_PushArgumentInt(NWNX_Data, sFunc, element);
NWNX_PushArgumentString(NWNX_Data, sFunc, tag);
NWNX_PushArgumentObject(NWNX_Data, sFunc, obj);
NWNX_PushArgumentInt(NWNX_Data, sFunc, NWNX_DATA_TYPE_INTEGER);
NWNX_CallFunction(NWNX_Data, sFunc);
WriteTimestampedLogEntry("WARNING: NWNX_Data is deprecated. You should migrate to Array (see inc_array)");
Array_PushBack_Int(tag, element, obj);
}
void NWNX_Data_Array_PushBack_Obj(object obj, string tag, object element)
{
string sFunc = "ArrayPushBack";
NWNX_PushArgumentObject(NWNX_Data, sFunc, element);
NWNX_PushArgumentString(NWNX_Data, sFunc, tag);
NWNX_PushArgumentObject(NWNX_Data, sFunc, obj);
NWNX_PushArgumentInt(NWNX_Data, sFunc, NWNX_DATA_TYPE_OBJECT);
NWNX_CallFunction(NWNX_Data, sFunc);
}
void NWNX_Data_Array_PushBack_Str(object obj, string tag, string element)
{
string sFunc = "ArrayPushBack";
NWNX_PushArgumentString(NWNX_Data, sFunc, element);
NWNX_PushArgumentString(NWNX_Data, sFunc, tag);
NWNX_PushArgumentObject(NWNX_Data, sFunc, obj);
NWNX_PushArgumentInt(NWNX_Data, sFunc, NWNX_DATA_TYPE_STRING);
NWNX_CallFunction(NWNX_Data, sFunc);
WriteTimestampedLogEntry("WARNING: NWNX_Data is deprecated. You should migrate to Array (see inc_array)");
Array_PushBack_Obj(tag, element, obj);
}
////////////////////////////////////////////////////////////////////////////////
// Cuts the array off at size 'size'. Elements beyond size are removed.
void NWNX_Data_Array_Resize(int type, object obj, string tag, int size)
{
string sFunc = "ArrayResize";
NWNX_PushArgumentInt(NWNX_Data, sFunc, size);
NWNX_PushArgumentString(NWNX_Data, sFunc, tag);
NWNX_PushArgumentObject(NWNX_Data, sFunc, obj);
NWNX_PushArgumentInt(NWNX_Data, sFunc, type);
NWNX_CallFunction(NWNX_Data, sFunc);
WriteTimestampedLogEntry("WARNING: NWNX_Data is deprecated. You should migrate to Array (see inc_array)");
Array_Resize(tag, size, obj);
}
////////////////////////////////////////////////////////////////////////////////
void NWNX_Data_Array_Shuffle(int type, object obj, string tag)
{
string sFunc = "ArrayShuffle";
NWNX_PushArgumentString(NWNX_Data, sFunc, tag);
NWNX_PushArgumentObject(NWNX_Data, sFunc, obj);
NWNX_PushArgumentInt(NWNX_Data, sFunc, type);
NWNX_CallFunction(NWNX_Data, sFunc);
WriteTimestampedLogEntry("WARNING: NWNX_Data is deprecated. You should migrate to Array (see inc_array)");
Array_Shuffle(tag, obj);
}
////////////////////////////////////////////////////////////////////////////////
int NWNX_Data_Array_Size(int type, object obj, string tag)
{
string sFunc = "ArraySize";
NWNX_PushArgumentString(NWNX_Data, sFunc, tag);
NWNX_PushArgumentObject(NWNX_Data, sFunc, obj);
NWNX_PushArgumentInt(NWNX_Data, sFunc, type);
NWNX_CallFunction(NWNX_Data, sFunc);
return NWNX_GetReturnValueInt(NWNX_Data, sFunc);
WriteTimestampedLogEntry("WARNING: NWNX_Data is deprecated. You should migrate to Array (see inc_array)");
return Array_Size(tag, obj);
}
////////////////////////////////////////////////////////////////////////////////
// Sort the array by value according to 'direciton' (ASC or DESC)
// Note that this is a lexical sort, so sorting an array of ints or floats will have
// odd results
void NWNX_Data_Array_Sort(object obj, string tag, string direction)
{
WriteTimestampedLogEntry("WARNING: NWNX_Data is deprecated. You should migrate to Array (see inc_array)");
Array_Sort(tag, direction, TYPE_STRING, obj);
}
void NWNX_Data_Array_SortAscending(int type, object obj, string tag)
{
string sFunc = "ArraySortAscending";
NWNX_PushArgumentString(NWNX_Data, sFunc, tag);
NWNX_PushArgumentObject(NWNX_Data, sFunc, obj);
NWNX_PushArgumentInt(NWNX_Data, sFunc, type);
NWNX_CallFunction(NWNX_Data, sFunc);
WriteTimestampedLogEntry("WARNING: NWNX_Data is deprecated. You should migrate to Array (see inc_array)");
Array_SortAscending(tag, TYPE_STRING, obj);
}
void NWNX_Data_Array_SortDescending(int type, object obj, string tag)
{
string sFunc = "ArraySortDescending";
NWNX_PushArgumentString(NWNX_Data, sFunc, tag);
NWNX_PushArgumentObject(NWNX_Data, sFunc, obj);
NWNX_PushArgumentInt(NWNX_Data, sFunc, type);
NWNX_CallFunction(NWNX_Data, sFunc);
WriteTimestampedLogEntry("WARNING: NWNX_Data is deprecated. You should migrate to Array (see inc_array)");
Array_SortDescending(tag, TYPE_STRING, obj);
}
////////////////////////////////////////////////////////////////////////////////
// Set the value of array index 'index' to a 'element'
// This will quietly eat values if index > array size
void NWNX_Data_Array_Set_Str(object obj, string tag, int index, string element)
{
WriteTimestampedLogEntry("WARNING: NWNX_Data is deprecated. You should migrate to Array (see inc_array)");
Array_Set_Str(tag, index, element, obj);
}
void NWNX_Data_Array_Set_Flt(object obj, string tag, int index, float element)
{
string sFunc = "ArraySet";
NWNX_PushArgumentFloat(NWNX_Data, sFunc, element);
NWNX_PushArgumentInt(NWNX_Data, sFunc, index);
NWNX_PushArgumentString(NWNX_Data, sFunc, tag);
NWNX_PushArgumentObject(NWNX_Data, sFunc, obj);
NWNX_PushArgumentInt(NWNX_Data, sFunc, NWNX_DATA_TYPE_FLOAT);
NWNX_CallFunction(NWNX_Data, sFunc);
WriteTimestampedLogEntry("WARNING: NWNX_Data is deprecated. You should migrate to Array (see inc_array)");
Array_Set_Flt(tag, index, element, obj);
}
void NWNX_Data_Array_Set_Int(object obj, string tag, int index, int element)
{
string sFunc = "ArraySet";
NWNX_PushArgumentInt(NWNX_Data, sFunc, element);
NWNX_PushArgumentInt(NWNX_Data, sFunc, index);
NWNX_PushArgumentString(NWNX_Data, sFunc, tag);
NWNX_PushArgumentObject(NWNX_Data, sFunc, obj);
NWNX_PushArgumentInt(NWNX_Data, sFunc, NWNX_DATA_TYPE_INTEGER);
NWNX_CallFunction(NWNX_Data, sFunc);
WriteTimestampedLogEntry("WARNING: NWNX_Data is deprecated. You should migrate to Array (see inc_array)");
Array_Set_Int(tag, index, element, obj);
}
void NWNX_Data_Array_Set_Obj(object obj, string tag, int index, object element)
{
string sFunc = "ArraySet";
NWNX_PushArgumentObject(NWNX_Data, sFunc, element);
NWNX_PushArgumentInt(NWNX_Data, sFunc, index);
NWNX_PushArgumentString(NWNX_Data, sFunc, tag);
NWNX_PushArgumentObject(NWNX_Data,sFunc, obj);
NWNX_PushArgumentInt(NWNX_Data, sFunc, NWNX_DATA_TYPE_OBJECT);
NWNX_CallFunction(NWNX_Data, sFunc);
}
void NWNX_Data_Array_Set_Str(object obj, string tag, int index, string element)
{
string sFunc = "ArraySet";
NWNX_PushArgumentString(NWNX_Data, sFunc, element);
NWNX_PushArgumentInt(NWNX_Data, sFunc, index);
NWNX_PushArgumentString(NWNX_Data, sFunc, tag);
NWNX_PushArgumentObject(NWNX_Data, sFunc, obj);
NWNX_PushArgumentInt(NWNX_Data, sFunc, NWNX_DATA_TYPE_STRING);
NWNX_CallFunction(NWNX_Data, sFunc);
WriteTimestampedLogEntry("WARNING: NWNX_Data is deprecated. You should migrate to Array (see inc_array)");
Array_Set_Obj(tag, index, element, obj);
}