Updated for PRC8 update

Updated for PRC8 update
This commit is contained in:
Jaysyn904
2024-03-03 20:23:34 -05:00
parent 7f87a57fd7
commit 47aa4dde5c
6 changed files with 53 additions and 611 deletions

View File

@@ -1 +1 @@
Module.Packer.exe "Anphillia Unlimited [PRC8-CEP2].mod" p Module.Packer.exe "Anphillia Unlimited [PRC8-CEP3].mod" p

View File

@@ -1 +1 @@
Module.Packer.exe "Anphillia Unlimited [PRC8-CEP2].mod" u Module.Packer.exe "Anphillia Unlimited [PRC8-CEP3].mod" u

View File

@@ -2339,7 +2339,7 @@
}, },
"Mod_CustomTlk": { "Mod_CustomTlk": {
"type": "cexostring", "type": "cexostring",
"value": "prc8_cep269_mrg" "value": "prc8_cep3_merge"
}, },
"Mod_CutSceneList": { "Mod_CutSceneList": {
"type": "list", "type": "list",
@@ -2409,7 +2409,7 @@
"__struct_id": 8, "__struct_id": 8,
"Mod_Hak": { "Mod_Hak": {
"type": "cexostring", "type": "cexostring",
"value": "prc8_cep269_mrg" "value": "prc8_cep3_merge"
} }
}, },
{ {
@@ -2430,7 +2430,7 @@
"__struct_id": 8, "__struct_id": 8,
"Mod_Hak": { "Mod_Hak": {
"type": "cexostring", "type": "cexostring",
"value": "prc8_newspellbook" "value": "prc8_nsb"
} }
}, },
{ {
@@ -2489,6 +2489,13 @@
"value": "prc8_craft2das" "value": "prc8_craft2das"
} }
}, },
{
"__struct_id": 8,
"Mod_Hak": {
"type": "cexostring",
"value": "cep3_2das"
}
},
{ {
"__struct_id": 8, "__struct_id": 8,
"Mod_Hak": { "Mod_Hak": {
@@ -2496,6 +2503,41 @@
"value": "cep3_armor" "value": "cep3_armor"
} }
}, },
{
"__struct_id": 8,
"Mod_Hak": {
"type": "cexostring",
"value": "cep3_core0"
}
},
{
"__struct_id": 8,
"Mod_Hak": {
"type": "cexostring",
"value": "cep3_core1"
}
},
{
"__struct_id": 8,
"Mod_Hak": {
"type": "cexostring",
"value": "cep3_core2"
}
},
{
"__struct_id": 8,
"Mod_Hak": {
"type": "cexostring",
"value": "cep3_core3"
}
},
{
"__struct_id": 8,
"Mod_Hak": {
"type": "cexostring",
"value": "cep3_doors"
}
},
{ {
"__struct_id": 8, "__struct_id": 8,
"Mod_Hak": { "Mod_Hak": {
@@ -2514,140 +2556,35 @@
"__struct_id": 8, "__struct_id": 8,
"Mod_Hak": { "Mod_Hak": {
"type": "cexostring", "type": "cexostring",
"value": "cep2_add_ee" "value": "cep3_phenos"
} }
}, },
{ {
"__struct_id": 8, "__struct_id": 8,
"Mod_Hak": { "Mod_Hak": {
"type": "cexostring", "type": "cexostring",
"value": "cep2_add_doors" "value": "cep3_portraits"
} }
}, },
{ {
"__struct_id": 8, "__struct_id": 8,
"Mod_Hak": { "Mod_Hak": {
"type": "cexostring", "type": "cexostring",
"value": "cep2_add_reforge" "value": "cep3_reforge"
} }
}, },
{ {
"__struct_id": 8, "__struct_id": 8,
"Mod_Hak": { "Mod_Hak": {
"type": "cexostring", "type": "cexostring",
"value": "cep2_add_loads" "value": "cep3_skies"
} }
}, },
{ {
"__struct_id": 8, "__struct_id": 8,
"Mod_Hak": { "Mod_Hak": {
"type": "cexostring", "type": "cexostring",
"value": "cep2_add_phenos1" "value": "cep3_tiles"
}
},
{
"__struct_id": 8,
"Mod_Hak": {
"type": "cexostring",
"value": "cep2_add_phenos2"
}
},
{
"__struct_id": 8,
"Mod_Hak": {
"type": "cexostring",
"value": "cep2_add_phenos3"
}
},
{
"__struct_id": 8,
"Mod_Hak": {
"type": "cexostring",
"value": "cep2_add_phenos4"
}
},
{
"__struct_id": 8,
"Mod_Hak": {
"type": "cexostring",
"value": "cep2_add_skies"
}
},
{
"__struct_id": 8,
"Mod_Hak": {
"type": "cexostring",
"value": "cep2_add_tiles1"
}
},
{
"__struct_id": 8,
"Mod_Hak": {
"type": "cexostring",
"value": "cep2_add_tiles2"
}
},
{
"__struct_id": 8,
"Mod_Hak": {
"type": "cexostring",
"value": "cep2_top_2_69"
}
},
{
"__struct_id": 8,
"Mod_Hak": {
"type": "cexostring",
"value": "cep2_core0"
}
},
{
"__struct_id": 8,
"Mod_Hak": {
"type": "cexostring",
"value": "cep2_core1"
}
},
{
"__struct_id": 8,
"Mod_Hak": {
"type": "cexostring",
"value": "cep2_core2"
}
},
{
"__struct_id": 8,
"Mod_Hak": {
"type": "cexostring",
"value": "cep2_core3"
}
},
{
"__struct_id": 8,
"Mod_Hak": {
"type": "cexostring",
"value": "cep2_core4"
}
},
{
"__struct_id": 8,
"Mod_Hak": {
"type": "cexostring",
"value": "cep2_core5"
}
},
{
"__struct_id": 8,
"Mod_Hak": {
"type": "cexostring",
"value": "cep2_core6"
}
},
{
"__struct_id": 8,
"Mod_Hak": {
"type": "cexostring",
"value": "cep2_core7"
} }
} }
] ]
@@ -2671,7 +2608,7 @@
"Mod_Name": { "Mod_Name": {
"type": "cexolocstring", "type": "cexolocstring",
"value": { "value": {
"0": "Anphillia Unlimited [PRC8-CEP2]" "0": "Anphillia Unlimited [PRC8-CEP3]"
} }
}, },
"Mod_OnAcquirItem": { "Mod_OnAcquirItem": {

Binary file not shown.

View File

@@ -1,144 +0,0 @@
#include "nwnx_inc_array"
#include "nwnx_time"
// nwnx_data also includes inc_array, so don't double dip.
#include "nwnx_data"
void Log(string msg)
{
WriteTimestampedLogEntry(msg);
}
void TestArrayOnModule()
{
string array = "test";
// By default, temporary arrays are created on the module.
Array_PushBack_Str(array, "BItem1");
Array_PushBack_Str(array, "AItem2");
Array_PushBack_Str(array, "AItem3");
Array_PushBack_Str(array, "BItem2");
Array_Debug_Dump(array, "After first load");
int foo = Array_Find_Str(array, "AItem3");
Log("Found element AItem3 at index = " + IntToString(foo));
Array_Set_Str(array, 2, "Suck it up...");
Array_Debug_Dump(array, "After set 2 = 'Suck it up...'");
Array_Erase(array, 1);
Array_Debug_Dump(array, "After delete 1");
Array_PushBack_Str(array, "MItem1");
Array_PushBack_Str(array, "QItem2");
Array_PushBack_Str(array, "NItem3");
Array_PushBack_Str(array, "KItem2");
Array_Debug_Dump(array, "After add more");
Array_SortAscending(array);
Array_Debug_Dump(array, "After sort");
Array_Shuffle(array);
Array_Debug_Dump(array, "After shuffle");
Log( (Array_Contains_Str(array, "NItem3")) ? "Passed.. found it" : "Failed.. should have found it" );
Log( (Array_Contains_Str(array, "KItem2")) ? "Passed.. found it" : "Failed.. should have found it" );
Log( (Array_Contains_Str(array, "xxxxxx")) ? "Failed.. not found" : "Passed.. should not exist" );
Array_Clear(array);
// Load up the array with 100 entries
int i;
struct NWNX_Time_HighResTimestamp b;
b = NWNX_Time_GetHighResTimeStamp();
Log("Start Time: " + IntToString(b.seconds) + "." + IntToString(b.microseconds));
for (i=0; i<1000; i++)
{
Array_PushBack_Str(array, IntToString(d100()) + " xxx " + IntToString(i));
}
b = NWNX_Time_GetHighResTimeStamp();
Log("Loaded 1000: " + IntToString(b.seconds) + "." + IntToString(b.microseconds));
Array_Shuffle(array);
b = NWNX_Time_GetHighResTimeStamp();
Log("Shuffled 1000: " + IntToString(b.seconds) + "." + IntToString(b.microseconds));
for (i=5; i<995; i++)
{
// Delete the third entry a bunch of times
Array_Erase(array, 3);
}
b = NWNX_Time_GetHighResTimeStamp();
Log("Delete ~990: " + IntToString(b.seconds) + "." + IntToString(b.microseconds));
Array_Debug_Dump(array, "After mass insert/delete");
}
void TestArrayOnChicken()
{
string array="chicken";
// Let's create an array "on" our favorite creature: the deadly nw_chicken
// Note - arrays aren't really attached to the item, but the module, and they
// are tagged with the objects string representation.
object oCreature = CreateObject(OBJECT_TYPE_CREATURE, "nw_chicken", GetStartingLocation());
if (!GetIsObjectValid(oCreature))
{
Log("NWNX_Creature test: Failed to create creature");
return;
}
Array_PushBack_Str(array, "BItem1", oCreature);
Array_PushBack_Str(array, "AItem2", oCreature);
Array_PushBack_Str(array, "AItem3", oCreature);
Array_PushBack_Str(array, "BItem2", oCreature);
Array_Debug_Dump(array, "After Chicken array load", oCreature);
}
void TestNWNXArray()
{
Log("");
Log("Start NWNX_Data test.");
string array = "test2";
NWNX_Data_Array_PushBack_Str(GetModule(), array, "XItem1");
NWNX_Data_Array_PushBack_Str(GetModule(), array, "ZItem2");
NWNX_Data_Array_PushBack_Str(GetModule(), array, "ZItem3");
NWNX_Data_Array_PushBack_Str(GetModule(), array, "XItem2");
Array_Debug_Dump(array, "After first load");
int foo = NWNX_Data_Array_Find_Str(GetModule(), array, "ZItem3");
Log("Found element AItem3 at index = " + IntToString(foo));
NWNX_Data_Array_Set_Str(GetModule(), array, 2, "Suck it up...");
Array_Debug_Dump(array, "After set 2 = 'Suck it up...'");
NWNX_Data_Array_Erase(NWNX_DATA_TYPE_STRING, GetModule(), array, 1);
Array_Debug_Dump(array, "After delete 1");
NWNX_Data_Array_PushBack_Str(GetModule(), array, "MItem1");
NWNX_Data_Array_PushBack_Str(GetModule(), array, "QItem2");
NWNX_Data_Array_PushBack_Str(GetModule(), array, "NItem3");
NWNX_Data_Array_PushBack_Str(GetModule(), array, "KItem2");
Array_Debug_Dump(array, "After add more");
NWNX_Data_Array_SortAscending(NWNX_DATA_TYPE_STRING, GetModule(), array);
Array_Debug_Dump(array, "After sort");
}
// Uncomment and assign to some event click.
/* */
void main()
{
Log("Start");
TestArrayOnModule();
TestArrayOnChicken();
TestNWNXArray();
}
/* */

View File

@@ -1,351 +0,0 @@
/// @addtogroup data Data
/// @brief Provides a number of data structures for NWN code to use (simulated arrays)
/// @{
/// @file nwnx_data.nss
#include "inc_array"
// 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.
/// @ingroup data
/// @param obj The object.
/// @param tag The tag.
/// @param index The index.
/// @return The element of associated type.
/// @{
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);
/// @}
/// Clears the entire array, such that size==0.
void NWNX_Data_Array_Clear(int type, object obj, string tag);
/// @defgroup data_array_contains Array Contains
/// @brief Checks if array contains the element.
/// @ingroup data
/// @param obj The object.
/// @param tag The 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_Obj(object obj, string tag, object element);
int NWNX_Data_Array_Contains_Str(object obj, string tag, string element);
/// @}
/// Copies the array of name otherTag over the array of name tag.
void NWNX_Data_Array_Copy(int type, object obj, string tag, string otherTag);
/// Erases the element at index, and shuffles any elements from index size-1 to index + 1 left.
void NWNX_Data_Array_Erase(int type, object obj, string tag, int index);
/// @defgroup data_array_find Array Find
/// @brief Get the index at which the element is located.
/// @ingroup data
/// @param obj The object.
/// @param tag The tag.
/// @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_Obj(object obj, string tag, object element);
int NWNX_Data_Array_Find_Str(object obj, string tag, string element);
/// @}
/// @defgroup data_array_insert Array Insert
/// @brief Inserts the element at the index, where size > index >= 0.
/// @ingroup data
/// @param obj The object.
/// @param tag The tag.
/// @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_Obj(object obj, string tag, int index, object element);
void NWNX_Data_Array_Insert_Str(object obj, string tag, int index, string element);
/// @}
/// @defgroup data_array_pushback Array Pushback
/// @brief Pushes an element to the back of the collection.
/// @remark Functionally identical to an insert at index size-1.
/// @ingroup data
/// @param obj The object.
/// @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_Obj(object obj, string tag, object element);
void NWNX_Data_Array_PushBack_Str(object obj, string tag, string element);
/// @}
/// Resizes the array. If the array is shrinking, it chops off elements at the ned.
void NWNX_Data_Array_Resize(int type, object obj, string tag, int size);
/// Reorders the array such each possible permutation of elements has equal probability of appearance.
void NWNX_Data_Array_Shuffle(int type, object obj, string tag);
/// Returns the size of the array.
int NWNX_Data_Array_Size(int type, object obj, string tag);
/// Sorts the collection based on descending order.
void NWNX_Data_Array_SortAscending(int type, object obj, string tag);
/// Sorts the collection based on descending order.
void NWNX_Data_Array_SortDescending(int type, object obj, string tag);
/// @defgroup data_array_set Array Set
/// @brief Sets the element at the index, where size > index >= 0.
/// @ingroup data
/// @param obj The object.
/// @param tag The 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_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)
{
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)
{
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)
{
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)
{
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)
{
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)
{
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)
{
WriteTimestampedLogEntry("WARNING: NWNX_Data is deprecated. You should migrate to Array (see inc_array)");
return Array_Contains_Obj(tag, element, obj);
}
////////////////////////////////////////////////////////////////////////////////
void NWNX_Data_Array_Copy(int type, object obj, string tag, string otherTag)
{
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)
{
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)
{
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)
{
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)
{
WriteTimestampedLogEntry("WARNING: NWNX_Data is deprecated. You should migrate to Array (see inc_array)");
return Array_Find_Obj(tag, element, obj);
}
////////////////////////////////////////////////////////////////////////////////
// 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)
{
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)
{
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)
{
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)
{
WriteTimestampedLogEntry("WARNING: NWNX_Data is deprecated. You should migrate to Array (see inc_array)");
Array_Insert_Obj(tag, index, element, obj);
}
////////////////////////////////////////////////////////////////////////////////
// Insert a new element at the end of the array.
void NWNX_Data_Array_PushBack_Str(object obj, string tag, string element)
{
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)
{
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)
{
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)
{
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)
{
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)
{
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)
{
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)
{
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)
{
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)
{
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)
{
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)
{
WriteTimestampedLogEntry("WARNING: NWNX_Data is deprecated. You should migrate to Array (see inc_array)");
Array_Set_Obj(tag, index, element, obj);
}