pluginmanager.h
来自「quake3工具源码。包括生成bsp文件」· C头文件 代码 · 共 80 行
H
80 行
// PlugInManager.h: interface for the CPlugInManager class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_PLUGINMANAGER_H__CFB18412_55FE_11D2_B082_00AA00A410FC__INCLUDED_)
#define AFX_PLUGINMANAGER_H__CFB18412_55FE_11D2_B082_00AA00A410FC__INCLUDED_
#if _MSC_VER >= 1000
#pragma once
#endif // _MSC_VER >= 1000
#include "plugin.h"
class CPlugInManager
{
private:
CObArray m_PlugIns;
CPtrArray m_BrushHandles;
CPtrArray m_SelectedBrushHandles;
CPtrArray m_ActiveBrushHandles;
CPlugIn *m_pTexturePlug;
CPlugIn *m_pSurfaceListPlug;
// v1.70
// brushes of the current entity ( see m_SelectedBrushHandles and m_ActiveBrushHandles )
CPtrArray m_EntityBrushHandles;
// allocated entities, not commited yet ( see m_BrushHandles )
CPtrArray m_EntityHandles;
// tells in which array to look when given a patch index
enum EPatchesMode { EActivePatches, ESelectedPatches, EAllocatedPatches } PatchesMode;
// patches handles (brush_t*)
CPtrArray m_PatchesHandles;
// plugin-allocated patches, not commited yet (patchMesh_t*)
CPtrArray m_PluginPatches;
public:
CPlugIn * PluginForModule( HMODULE hPlug );
CPtrArray& GetActiveHandles() {return m_ActiveBrushHandles; };
CPtrArray& GetSelectedHandles() {return m_SelectedBrushHandles; };
CPtrArray& GetPluginPatches() {return m_PluginPatches; };
brush_t* FindBrushHandle(void *vp);
patchMesh_t* FindPatchHandle(int index);
int CreatePatchHandle();
int AllocateActivePatchHandles();
int AllocateSelectedPatchHandles();
void CommitPatchHandleToMap(int index, patchMesh_t *pMesh, char *texName);
void ReleasePatchesHandles() { m_PatchesHandles.RemoveAll(); m_PluginPatches.RemoveAll(); }
void AddFaceToBrushHandle(void *vp, vec3_t v1, vec3_t v2, vec3_t v3);
void CommitBrushHandleToMap(void *vp);
void DeleteBrushHandle(LPVOID vp);
LPVOID CreateBrushHandle();
void Dispatch(int n, const char *p);
void Cleanup();
void Init(const char* pPath);
CPlugInManager();
virtual ~CPlugInManager();
// the texture manager front ends the single load
// addins (texture, model, map formats.. etc.)
_QERTextureInfo* GetTextureInfo();
void LoadTexture(const char *pFilename);
LPVOID GetSurfaceFlags();
// v1.70
CPtrArray& GetEntityBrushHandles() {return m_EntityBrushHandles; };
CPtrArray& GetEntityHandles() {return m_EntityHandles; };
// the vpBrush needs to be in m_BrushHandles
void CommitBrushHandleToEntity( LPVOID vpBrush, LPVOID vpEntity );
// the vpEntity needs to be in m_EntityHandles
void CommitEntityHandleToMap( LPVOID vpEntity );
protected:
int FillFuncTable(CPlugIn *pPlug); // PGM
};
#endif // !defined(AFX_PLUGINMANAGER_H__CFB18412_55FE_11D2_B082_00AA00A410FC__INCLUDED_)
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?