BOOL CObjectSourcesXML::ImportObjectClass(CTileWorld* pcWorld, CMarkupTag* pcTag)
{
	CMarkupTag*	pcClass;
	CMarkupTag*	pcFields;
	CMarkupTag*	pcObjects;
	CChars		szClass;
	CTileType*	pcType;
	BOOL		bResult;

	pcClass = CMarkupTextParser::GetTag(pcTag, "Class");
	if (!pcClass)
	{
		return FALSE;
	}

	pcFields = CMarkupTextParser::GetTag(pcTag, "Fields");

	pcObjects = CMarkupTextParser::GetTag(pcTag, "Objects");
	if (!pcClass)
	{
		return FALSE;
	}

	szClass.Init();
	pcClass->GetText(&szClass);

	bResult = FALSE;
	if (szClass.EqualsIgnoreCase("Image"))
	{
		pcType = pcWorld->GetType("Image");
		bResult = ImportImages(pcType, pcObjects);
	}
	else if (szClass.EqualsIgnoreCase("Boolean"))
	{
		pcType = pcWorld->GetType("Boolean");
		bResult = ImportBooleans(pcType, pcObjects);
	}
	else
	{
		CMarkupTextParser::LogError(pcClass, "Type not allowed.  Must be Image or Boolean.");
	}

	if (!bResult)
	{
		return FALSE;
	}
	return TRUE;
}
int CCSVHelper::GetColumnIndex(char* szName)
{
	SCSVRowImmutable*	pcRow;
	int					i;
	char*				szHeader;
	CChars				sz;

	pcRow = mcFile.Get(0);
	for (i = 0; i < pcRow->iNumFields; i++)
	{
		szHeader = pcRow->Get(i);
		sz.Init(szHeader);
		sz.StripWhiteSpace();
		if (sz.EqualsIgnoreCase(szName))
		{
			sz.Kill();
			return i;
		}
		sz.Kill();
	}
	return -1;
}