Fixed CCOH, Fixed starting GP, Fixed DMFI languages, Fix cep weapon appearances, Fixed new player start up system. Added PC deleter. Added ACP 4.1. Full compile. Updated release archive.
178 lines
6.9 KiB
Plaintext
178 lines
6.9 KiB
Plaintext
//::///////////////////////////////////////////////
|
|
//:: DMFI - array functions include
|
|
//:: dmfi_arrays_inc
|
|
//:://////////////////////////////////////////////
|
|
/*
|
|
Functions to use object-attached local variables as arrays.
|
|
*/
|
|
//:://////////////////////////////////////////////
|
|
//:: Created By: Noel
|
|
//:: Created On: November 17, 2001
|
|
//:://////////////////////////////////////////////
|
|
//:: 2007.12.24 tsunami282 - yanked most of these routines from Bioware's
|
|
//:: nw_o0_itemmaker, then expanded for bounds management.
|
|
|
|
int GetLocalArrayLowerBound(object oidObject, string sVarName);
|
|
int GetLocalArrayUpperBound(object oidObject, string sVarName);
|
|
void SetLocalArrayLowerBound(object oidObject, string sVarName, int nMin);
|
|
void SetLocalArrayUpperBound(object oidObject, string sVarName, int nMax);
|
|
|
|
////////////////////////////////////////////////////////////////////////
|
|
int GetLocalArrayInitialized(object oidObject, string sVarName)
|
|
{
|
|
string sFullVarName = sVarName + "_INIT";
|
|
return GetLocalInt(oidObject, sFullVarName);
|
|
}
|
|
|
|
////////////////////////////////////////////////////////////////////////
|
|
void InitializeLocalArray(object oidObject, string sVarName)
|
|
{
|
|
int i, iBegin, iEnd;
|
|
string sFullVarName;
|
|
|
|
if (GetLocalArrayInitialized(oidObject, sVarName))
|
|
{
|
|
// wipe current contents
|
|
iBegin = GetLocalArrayLowerBound(oidObject, sVarName);
|
|
iEnd = GetLocalArrayUpperBound(oidObject, sVarName);
|
|
for (i = iEnd; i >= iBegin; i--)
|
|
{
|
|
sFullVarName = sVarName + IntToString(i);
|
|
DeleteLocalInt(oidObject, sFullVarName);
|
|
DeleteLocalFloat(oidObject, sFullVarName);
|
|
DeleteLocalString(oidObject, sFullVarName);
|
|
DeleteLocalObject(oidObject, sFullVarName);
|
|
DeleteLocalLocation(oidObject, sFullVarName);
|
|
}
|
|
}
|
|
|
|
SetLocalArrayLowerBound(oidObject, sVarName, 0);
|
|
SetLocalArrayUpperBound(oidObject, sVarName, -1);
|
|
sFullVarName = sVarName + "_INIT";
|
|
SetLocalInt(oidObject, sFullVarName, TRUE);
|
|
}
|
|
|
|
////////////////////////////////////////////////////////////////////////
|
|
int GetLocalArrayLowerBound(object oidObject, string sVarName)
|
|
{
|
|
string sFullVarName = sVarName + "_MIN";
|
|
return GetLocalInt(oidObject, sFullVarName);
|
|
}
|
|
|
|
////////////////////////////////////////////////////////////////////////
|
|
int GetLocalArrayUpperBound(object oidObject, string sVarName)
|
|
{
|
|
string sFullVarName = sVarName + "_MAX";
|
|
return GetLocalInt(oidObject, sFullVarName);
|
|
}
|
|
|
|
////////////////////////////////////////////////////////////////////////
|
|
void SetLocalArrayLowerBound(object oidObject, string sVarName, int nMin)
|
|
{
|
|
string sFullVarName = sVarName + "_MIN";
|
|
SetLocalInt(oidObject, sFullVarName, nMin);
|
|
}
|
|
|
|
////////////////////////////////////////////////////////////////////////
|
|
void SetLocalArrayUpperBound(object oidObject, string sVarName, int nMax)
|
|
{
|
|
string sFullVarName = sVarName + "_MAX";
|
|
SetLocalInt(oidObject, sFullVarName, nMax);
|
|
}
|
|
|
|
////////////////////////////////////////////////////////////////////////
|
|
int GetLocalArrayInt(object oidObject, string sVarName, int nVarNum)
|
|
{
|
|
string sFullVarName = sVarName + IntToString(nVarNum) ;
|
|
return GetLocalInt(oidObject, sFullVarName);
|
|
}
|
|
|
|
////////////////////////////////////////////////////////////////////////
|
|
void SetLocalArrayInt(object oidObject, string sVarName, int nVarNum, int nValue)
|
|
{
|
|
string sFullVarName = sVarName + IntToString(nVarNum) ;
|
|
SetLocalInt(oidObject, sFullVarName, nValue);
|
|
// update bounds
|
|
if (nVarNum < GetLocalArrayLowerBound(oidObject, sVarName))
|
|
SetLocalArrayLowerBound(oidObject, sVarName, nVarNum);
|
|
if (nVarNum > GetLocalArrayUpperBound(oidObject, sVarName))
|
|
SetLocalArrayUpperBound(oidObject, sVarName, nVarNum);
|
|
}
|
|
|
|
////////////////////////////////////////////////////////////////////////
|
|
float GetLocalArrayFloat(object oidObject, string sVarName, int nVarNum)
|
|
{
|
|
string sFullVarName = sVarName + IntToString(nVarNum) ;
|
|
return GetLocalFloat(oidObject, sFullVarName);
|
|
}
|
|
|
|
////////////////////////////////////////////////////////////////////////
|
|
void SetLocalArrayFloat(object oidObject, string sVarName, int nVarNum, float fValue)
|
|
{
|
|
string sFullVarName = sVarName + IntToString(nVarNum) ;
|
|
SetLocalFloat(oidObject, sFullVarName, fValue);
|
|
// update bounds
|
|
if (nVarNum < GetLocalArrayLowerBound(oidObject, sVarName))
|
|
SetLocalArrayLowerBound(oidObject, sVarName, nVarNum);
|
|
if (nVarNum > GetLocalArrayUpperBound(oidObject, sVarName))
|
|
SetLocalArrayUpperBound(oidObject, sVarName, nVarNum);
|
|
}
|
|
|
|
////////////////////////////////////////////////////////////////////////
|
|
string GetLocalArrayString(object oidObject, string sVarName, int nVarNum)
|
|
{
|
|
string sFullVarName = sVarName + IntToString(nVarNum) ;
|
|
return GetLocalString(oidObject, sFullVarName);
|
|
}
|
|
|
|
////////////////////////////////////////////////////////////////////////
|
|
void SetLocalArrayString(object oidObject, string sVarName, int nVarNum, string nValue)
|
|
{
|
|
string sFullVarName = sVarName + IntToString(nVarNum) ;
|
|
SetLocalString(oidObject, sFullVarName, nValue);
|
|
// update bounds
|
|
if (nVarNum < GetLocalArrayLowerBound(oidObject, sVarName))
|
|
SetLocalArrayLowerBound(oidObject, sVarName, nVarNum);
|
|
if (nVarNum > GetLocalArrayUpperBound(oidObject, sVarName))
|
|
SetLocalArrayUpperBound(oidObject, sVarName, nVarNum);
|
|
}
|
|
|
|
////////////////////////////////////////////////////////////////////////
|
|
object GetLocalArrayObject(object oidObject, string sVarName, int nVarNum)
|
|
{
|
|
string sFullVarName = sVarName + IntToString(nVarNum) ;
|
|
return GetLocalObject(oidObject, sFullVarName);
|
|
}
|
|
|
|
////////////////////////////////////////////////////////////////////////
|
|
void SetLocalArrayObject(object oidObject, string sVarName, int nVarNum, object oidValue)
|
|
{
|
|
string sFullVarName = sVarName + IntToString(nVarNum) ;
|
|
SetLocalObject(oidObject, sFullVarName, oidValue);
|
|
// update bounds
|
|
if (nVarNum < GetLocalArrayLowerBound(oidObject, sVarName))
|
|
SetLocalArrayLowerBound(oidObject, sVarName, nVarNum);
|
|
if (nVarNum > GetLocalArrayUpperBound(oidObject, sVarName))
|
|
SetLocalArrayUpperBound(oidObject, sVarName, nVarNum);
|
|
}
|
|
|
|
////////////////////////////////////////////////////////////////////////
|
|
location GetLocalArrayLocation(object oidObject, string sVarName, int nVarNum)
|
|
{
|
|
string sFullVarName = sVarName + IntToString(nVarNum) ;
|
|
return GetLocalLocation(oidObject, sFullVarName);
|
|
}
|
|
|
|
////////////////////////////////////////////////////////////////////////
|
|
void SetLocalArrayLocation(object oidObject, string sVarName, int nVarNum, location locValue)
|
|
{
|
|
string sFullVarName = sVarName + IntToString(nVarNum) ;
|
|
SetLocalLocation(oidObject, sFullVarName, locValue);
|
|
// update bounds
|
|
if (nVarNum < GetLocalArrayLowerBound(oidObject, sVarName))
|
|
SetLocalArrayLowerBound(oidObject, sVarName, nVarNum);
|
|
if (nVarNum > GetLocalArrayUpperBound(oidObject, sVarName))
|
|
SetLocalArrayUpperBound(oidObject, sVarName, nVarNum);
|
|
}
|
|
|