Пример #1
0
//
// DeleteOctree
// 
void DeleteOctree(Octree **tree_ptr)
{
	// delete the lists on the tree
	int i;
	int max;
	max = tree_ptr[0]->max_elements;

	for (i = 0; i < max; i++)
	{
		DestroyPtrList(tree_ptr[i]->list);

	} // end of the for 

	// have to delete every node individually
	for (i = 0; i < max; i++)
	{
		free(tree_ptr[i]);
	} // end of the for

	free(tree_ptr);	

} // end of the function 
Пример #2
0
void PlayBatchMacro(LPLIST lpQueueList)
/***********************************************************************/
{
	LPQUEUEITEM 	lpQueueItem = NULL;
	LPMACROITEM 	lpMacroItem;
	FNAME 			szFileName;
	LIST 			TempList;
	BOOL			fError = TRUE;

	fPCDNotice = FALSE;
	while (TRUE)
	{
		if (lpQueueItem)
			lpQueueItem = (LPQUEUEITEM)ListGetNext(lpQueueItem);
		else
			lpQueueItem = (LPQUEUEITEM)ListGetHead(lpQueueList);

		if (!lpQueueItem)
		{
			fError = FALSE;
			break;
		}

		ListInit(&lpQueueItem->PacketList);

		// create a command list for the load command
		if (!CreateLoadFileParms(0, lpQueueItem->szFileName, TRUE,
 								&lpQueueItem->cmsInfo,
								&lpQueueItem->PhotoCDResOverride,
								&lpQueueItem->parms))
			continue;

		lpMacroItem = NULL;
		while (TRUE)
		{
			if (lpMacroItem)
				lpMacroItem = (LPMACROITEM)ListGetNext(lpMacroItem);
			else
				lpMacroItem = (LPMACROITEM)ListGetHead(&lpQueueItem->MacroList);
			if (!lpMacroItem)
				break;

			if ( !LookupExtFile( lpMacroItem->szMacro, szFileName, IDN_MACRO ) )
				continue;

			// read in the entire macro file for faster processing
			if (!ReadMacro(szFileName, &TempList))
				continue;
			if (MacroAnyLoadCommands(&TempList))
    		{
	    		Message(IDS_BADBATCHMACRO);
				DestroyPacketList(&TempList);
				continue;
		    }
			ListAddTail(&lpQueueItem->PacketList, ListGetHead(&TempList));
		}

		if (!SetupMacro(lpQueueItem))
			break;
	}
	if (!fError)
	{
		if (EnableLogging(TRUE))
		{
			lpQueueItem = NULL;
			while (!fError)
			{
				if (lpQueueItem)
					lpQueueItem = (LPQUEUEITEM)ListGetNext(lpQueueItem);
				else
					lpQueueItem = (LPQUEUEITEM)ListGetHead(lpQueueList);
				if (!lpQueueItem)
					break;
				if (!PlayMacro(NULL, NULL, 1, NO, &lpQueueItem->PacketList, NULL, lpQueueItem->PhotoCDResOverride))
					break;
			}
		 	EnableLogging(FALSE);
		}
	}

	lpQueueItem = NULL;
	while (TRUE)
	{
		if (lpQueueItem)
			lpQueueItem = (LPQUEUEITEM)ListGetNext(lpQueueItem);
		else
			lpQueueItem = (LPQUEUEITEM)ListGetHead(lpQueueList);
		if (!lpQueueItem)
			break;

		DestroyPacketList(&lpQueueItem->PacketList);
		DestroyPtrList(&lpQueueItem->MacroList);
	}
	DestroyPtrList(lpQueueList);
}