Exemplo n.º 1
0
MF_API void MFMaterial_UnregisterMaterialType(const char *pName)
{
	MFCALLSTACK;

	MFMaterialType *pMatType = MaterialInternal_GetMaterialType(pName);

	MFDebug_Assert(pMatType, MFStr("Material type '%s' doesn't exist!", pName));

	if(pMatType)
	{
		pMatType->materialCallbacks.pUnregisterMaterial();
		gMaterialRegistry.Destroy(pMatType);
		MFHeap_Free(pMatType);
	}
}
Exemplo n.º 2
0
MF_API int MFMaterial_Destroy(MFMaterial *pMaterial)
{
	MFCALLSTACK;

	--pMaterial->refCount;

	if(!pMaterial->refCount)
	{
		pMaterial->pType->materialCallbacks.pDestroyInstance(pMaterial);

		gMaterialList.Destroy(pMaterial);

		return 0;
	}

	return pMaterial->refCount;
}
Exemplo n.º 3
0
void MFCollision_DestroyCollisionItem(MFCollisionItem *pItem)
{
	gItemList.Destroy(pItem);
	MFHeap_Free(pItem);
}