Seaside/SpyCustom/IClientLeafSystem.h
2021-06-16 16:10:20 +03:00

53 lines
1.2 KiB
C

#if !defined( ICLIENTLEAFSYSTEM_H )
#define ICLIENTLEAFSYSTEM_H
#ifdef _WIN32
#pragma once
#endif
#include "platform.h"
#include "client_render_handle.h"
#include "ivmodelinfo.h"
#define CLIENTLEAFSYSTEM_INTERFACE_VERSION "ClientLeafSystem002"
enum RenderableModelType_t
{
RENDERABLE_MODEL_UNKNOWN_TYPE = -1,
RENDERABLE_MODEL_ENTITY = 0,
RENDERABLE_MODEL_STUDIOMDL,
RENDERABLE_MODEL_STATIC_PROP,
RENDERABLE_MODEL_BRUSH,
};
enum RenderGroup_t
{
RENDER_GROUP_OPAQUE = 0,
RENDER_GROUP_TRANSLUCENT,
RENDER_GROUP_TRANSLUCENT_IGNOREZ,
RENDER_GROUP_COUNT,
};
abstract_class IClientLeafSystemEngine
{
public:
virtual void CreateRenderableHandle(IClientRenderable* pRenderable, bool bRenderWithViewModels, RenderableTranslucencyType_t nType, RenderableModelType_t nModelType, UINT32 nSplitscreenEnabled = 0xFFFFFFFF) = 0;
virtual void RemoveRenderable(ClientRenderHandle_t handle) = 0;
virtual void AddRenderableToLeaves(ClientRenderHandle_t renderable, int nLeafCount, unsigned short* pLeaves) = 0;
virtual void SetTranslucencyType(ClientRenderHandle_t handle, RenderableTranslucencyType_t nType) = 0;
};
#endif