Bazaar developer reference

CvDatabaseUtility::Initialize2DArray(int **&, const size_t, const size_t, int)

Defined in
CvDatabaseUtility.cpp, line 112
Class
CvDatabaseUtility
Hook name
CivHooks::CvDatabaseUtility_Initialize2DArray_with_int_const_size_t_const_size_t_int

Hooks

static bool BeforeCvDatabaseUtility_Initialize2DArray_with_int_const_size_t_const_size_t_int(CvDatabaseUtility* self, int**& ppArray, const size_t iCount1, const size_t iCount2, int iDefault);static void AfterCvDatabaseUtility_Initialize2DArray_with_int_const_size_t_const_size_t_int(CvDatabaseUtility* self, int**& ppArray, const size_t iCount1, const size_t iCount2, int iDefault);static void ReplaceCvDatabaseUtility_Initialize2DArray_with_int_const_size_t_const_size_t_int(void (*original)(CvDatabaseUtility*, int**&, const size_t, const size_t, int), CvDatabaseUtility* self, int**& ppArray, const size_t iCount1, const size_t iCount2, int iDefault);CivRegisterBefore<CivHooks::CvDatabaseUtility_Initialize2DArray_with_int_const_size_t_const_size_t_int>(host, &BeforeCvDatabaseUtility_Initialize2DArray_with_int_const_size_t_const_size_t_int);CivRegisterAfter<CivHooks::CvDatabaseUtility_Initialize2DArray_with_int_const_size_t_const_size_t_int>(host, &AfterCvDatabaseUtility_Initialize2DArray_with_int_const_size_t_const_size_t_int);CivRegisterReplace<CivHooks::CvDatabaseUtility_Initialize2DArray_with_int_const_size_t_const_size_t_int>(host, &ReplaceCvDatabaseUtility_Initialize2DArray_with_int_const_size_t_const_size_t_int);

Code

112void CvDatabaseUtility::Initialize2DArray(int**& ppArray, const size_t iCount1, const size_t iCount2, int iDefault /*= 0*/)113{114	if(iCount1 <= 0 || iCount2 <= 0)115	{116		CvAssertMsg(false, "Cannot initialize array to 0 size.");117		return;118	}119120	unsigned int iNumBytes = iCount1 * sizeof(int*) + iCount1 * iCount2 * sizeof(int);121	unsigned char* pData = FNEW(unsigned char[iNumBytes], c_eCiv5GameplayDLL, 0);122	ppArray = (int**)pData;123	ppArray[0] = (int*)(pData + iCount1 * sizeof(int*));124	for(unsigned int i = 0; i < iCount2; ++i)125	{126		ppArray[0][i] = iDefault;127	}128	for(unsigned int i = 1; i < iCount1; i++)129	{130		ppArray[i] = ppArray[i-1] + iCount2;131		for(unsigned int j = 0; j < iCount2; ++j)132		{133			ppArray[i][j] = iDefault;134		}135	}136}

Called by