home *** CD-ROM | disk | FTP | other *** search
/ PC PowerPlay 58 / pcpp58a.iso / extras / quake 3 source / Q3A_ToolSource.exe / Main / PlugIn.h < prev    next >
Encoding:
C/C++ Source or Header  |  2001-01-02  |  1.9 KB  |  62 lines

  1. // PlugIn.h: interface for the CPlugIn class.
  2. //
  3. //////////////////////////////////////////////////////////////////////
  4.  
  5. #if !defined(AFX_PLUGIN_H__B501A832_5755_11D2_B084_00AA00A410FC__INCLUDED_)
  6. #define AFX_PLUGIN_H__B501A832_5755_11D2_B084_00AA00A410FC__INCLUDED_
  7.  
  8. #if _MSC_VER >= 1000
  9. #pragma once
  10. #endif // _MSC_VER >= 1000
  11.  
  12. class CPlugIn : public CObject
  13. {
  14. private:
  15.     HMODULE m_hDLL;
  16.     PFN_QERPLUG_INIT m_pfnInit;
  17.     PFN_QERPLUG_GETNAME m_pfnGetName;
  18.     PFN_QERPLUG_GETCOMMANDLIST m_pfnGetCommandList;
  19.     PFN_QERPLUG_DISPATCH m_pfnDispatch;
  20.     PFN_QERPLUG_GETFUNCTABLE m_pfnGetFuncTable;
  21.     PFN_QERPLUG_GETTEXTUREINFO m_pfnGetTextureInfo;
  22.     PFN_QERPLUG_LOADTEXTURE m_pfnLoadTexture;
  23.     PFN_QERPLUG_GETSURFACEFLAGS m_pfnGetSurfaceFlags;
  24.     PFN_QERPLUG_REGISTERPLUGINENTITIES m_pfnRegisterPluginEntities;
  25.     PFN_QERPLUG_INITSURFACEPROPERTIES m_pfnInitSurfaceProperties;
  26.     PFN_QERPLUG_REQUESTINTERFACE m_pfnRequestInterface;
  27.     CWordArray m_CommandIDs;
  28.     CStringArray m_CommandStrings;
  29.     CString m_strName;
  30.     CString m_strVersion;
  31.     
  32.     // for plugins that provide plugin entities
  33.     _QERPlugEntitiesFactory* m_pQERPlugEntitiesFactory;
  34.     
  35. public:
  36.     void InitBSPFrontendPlugin();
  37.     IPluginEntity * CreatePluginEntity( entity_t * );
  38.     HMODULE GetDLLModule() { return m_hDLL; }
  39.     void InitSurfacePlugin();
  40.     void RegisterPluginEntities();
  41.     void* getFuncTable();
  42.     bool ownsCommandID(int n);
  43.     void addMenuID(int n);
  44.     CPlugIn();
  45.     virtual ~CPlugIn();
  46.     bool load(const char *p);
  47.     void free();
  48.     const char* getVersionStr();
  49.     const char* getMenuName();
  50.     int getCommandCount();
  51.     const char* getCommand(int n);
  52.     void dispatchCommand(const char* p, vec3_t vMin, vec3_t vMax, BOOL bSingleBrush);
  53.     
  54.     _QERTextureInfo *getTextureInfo();
  55.     void loadTexture(LPCSTR pFilename);
  56.     
  57.     LPVOID getSurfaceFlags();
  58.     
  59. };
  60.  
  61. #endif // !defined(AFX_PLUGIN_H__B501A832_5755_11D2_B084_00AA00A410FC__INCLUDED_)
  62.