Example #1
0
ALERROR CUniverse::InitImages (SDesignLoadCtx &Ctx, CXMLElement *pImages, CResourceDb &Resources)

//	InitImages
//
//	Loads all images

	{
	ALERROR error;

	//	Nothing to do if we don't want to load resources

	if (Ctx.bNoResources)
		return NOERROR;

	//	Figure out if we've got a special folder for the images

	CString sRoot = pImages->GetAttribute(FOLDER_ATTRIB);
	Ctx.sFolder = sRoot;

#ifdef DEBUG_TIME_IMAGE_LOAD
	CTimeDate StartTime(CTimeDate::Now);
#endif

	//	Load all images

	for (int i = 0; i < pImages->GetContentElementCount(); i++)
		{
		CXMLElement *pItem = pImages->GetContentElement(i);

		if (error = LoadImage(Ctx, pItem))
			return error;
		}

	//	Restore folder

	Ctx.sFolder = NULL_STR;

#ifdef DEBUG_TIME_IMAGE_LOAD
	{
	CTimeDate StopTime(CTimeDate::Now);
	CTimeSpan Timing = timeSpan(StartTime, StopTime);
	CString sTime = Timing.Format(CString());
	kernelSetDebugLog("Time to load images: ");
	kernelSetDebugLog(sTime.GetASCIIZPointer());
	kernelSetDebugLog("\n");
	}
#endif

	return NOERROR;
	}
Example #2
0
void kernelCleanUp (void)

//	KernelCleanUp
//
//	Must be called for each thread to clean up

	{
	if (InterlockedDecrement(&g_iGlobalInit) == 0)
		{
		if (g_dwKernelFlags & KERNEL_FLAG_INTERNETS)
			::WSACleanup();

		//	Clean up strings

		CString::INTStringCleanUp();

		//	Done logging

		kernelSetDebugLog(NULL, FALSE);

		//	Clean up critical section

		DeleteCriticalSection(&g_csKernel);
		}

	ASSERT(g_iGlobalInit >= 0);
	}
Example #3
0
void kernelClearDebugLog (void)

//	kernerClearDebugLog
//
//	Stops the debug log

	{
	kernelSetDebugLog(NULL);
	}
Example #4
0
ALERROR kernelSetDebugLog (const CString &sFilespec, bool bAppend)

//	kernelSetDebugLog
//
//	Sets the debug log file

	{
	CTextFileLog *pLog = new CTextFileLog(sFilespec);
	return kernelSetDebugLog(pLog, bAppend, true);
	}