Counter Strike : Global Offensive Source Code
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

50 lines
1.4 KiB

//========= Copyright © 1996-2013, Valve Corporation, All rights reserved. ============//
//
// Purpose:
//
// $NoKeywords: $
//=============================================================================//
#ifndef IVISUALSDATAPROCESSOR_H
#define IVISUALSDATAPROCESSOR_H
#include "refcount.h"
class KeyValues;
class CUtlBuffer;
//
// Visuals Data Interface
//
// This abstracts the visuals data processing so that the main composite texture code
// can be used for weapons, clothing, or whatever.
// You need to implement one of these for use with CCompositeTexture.
//
class IVisualsDataCompare
{
public:
virtual void FillCompareBlob() = 0;
virtual const CUtlBuffer &GetCompareBlob() const = 0;
virtual bool Compare( const CUtlBuffer &pOther ) = 0;
};
class IVisualsDataProcessor : public CRefCounted<>
{
public:
IVisualsDataProcessor() {}
virtual KeyValues *GenerateCustomMaterialKeyValues() = 0;
virtual KeyValues *GenerateCompositeMaterialKeyValues( int nMaterialParamId ) = 0;
virtual IVisualsDataCompare *GetCompareObject() = 0;
virtual bool HasCustomMaterial() const = 0;
virtual const char* GetOriginalMaterialName() const = 0;
virtual const char* GetOriginalMaterialBaseName() const = 0;
virtual const char* GetPatternVTFName() const = 0;
virtual void Refresh() = 0;
protected:
virtual ~IVisualsDataProcessor() {}
};
#endif // IVISUALSDATAPROCESSOR_H