Quake-III-Arena

Quake III Arena GPL Source Release
Log | Files | Refs

IBSPFrontend.h (3195B)


      1 /*
      2 ===========================================================================
      3 Copyright (C) 1999-2005 Id Software, Inc.
      4 
      5 This file is part of Quake III Arena source code.
      6 
      7 Quake III Arena source code is free software; you can redistribute it
      8 and/or modify it under the terms of the GNU General Public License as
      9 published by the Free Software Foundation; either version 2 of the License,
     10 or (at your option) any later version.
     11 
     12 Quake III Arena source code is distributed in the hope that it will be
     13 useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
     14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     15 GNU General Public License for more details.
     16 
     17 You should have received a copy of the GNU General Public License
     18 along with Foobar; if not, write to the Free Software
     19 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
     20 ===========================================================================
     21 */
     22 //-----------------------------------------------------------------------------
     23 //
     24 // $LogFile$
     25 // $Revision: 1.3 $
     26 // $Author: ttimo $
     27 // $Date: 2000/01/18 00:43:59 $
     28 // $Log: IBSPFrontend.h,v $
     29 // Revision 1.3  2000/01/18 00:43:59  ttimo
     30 // RC
     31 //
     32 // Revision 1.2  2000/01/13 00:46:41  ttimo
     33 // Merged in patches in / out
     34 //
     35 // Revision 1.1.1.1.2.1  2000/01/13 00:15:41  ttimo
     36 // beta of patches in / out - tested with GenSurf
     37 //
     38 // Revision 1.1.1.1  2000/01/07 17:17:27  ttimo
     39 // initial import of Q3Radiant module
     40 //
     41 // Revision 1.2  2000/01/07 16:40:09  TBesset
     42 // merged from BSP frontend
     43 //
     44 // Revision 1.1.2.4  2000/01/07 00:16:26  TBesset
     45 // frontend ready for public version
     46 //
     47 // Revision 1.1.2.3  2000/01/04 00:26:58  TBesset
     48 // added a LoadPointFile in BSP frontend
     49 //
     50 // Revision 1.1.2.2  1999/12/31 19:43:20  TBesset
     51 // no message
     52 //
     53 // Revision 1.1.2.1  1999/12/29 16:49:39  TBesset
     54 // adding IBSPFrontend to the repository
     55 //
     56 //
     57 // DESCRIPTION:
     58 // interface for BSP frontends plugins
     59 //
     60 
     61 // DONE:	- change BSP menu to Q3Build menu ?
     62 // DONE:    - detect when Q3Build dies ?
     63 // DELAYED: - hotkeys !
     64 // SUCCESS: - try again getting feedback from Q3Build
     65 
     66 #ifndef __IBSPFRONTEND_H_
     67 #define __IBSPFRONTEND_H_
     68 
     69 // define a GUID for this interface so plugins can access and reference it
     70 // {8ED6A480-BA5E-11d3-A3E3-0004AC96D4C3}
     71 static const GUID QERPlugBSPFrontendTable_GUID = 
     72 { 0x8ed6a480, 0xba5e, 0x11d3, { 0xa3, 0xe3, 0x0, 0x4, 0xac, 0x96, 0xd4, 0xc3 } };
     73 
     74 // ask the plugin about the items to show up in the BSP menu
     75 typedef char * (WINAPI* PFN_GETBSPMENU)	();
     76 // dispatch a BSP menu command
     77 typedef void (WINAPI* PFN_DISPATCHBSPCOMMAND) (char *);
     78 
     79 struct _QERPlugBSPFrontendTable
     80 {
     81 	int m_nSize;
     82 	PFN_GETBSPMENU			m_pfnGetBSPMenu;
     83 	PFN_DISPATCHBSPCOMMAND	m_pfnDispatchBSPCommand;
     84 };
     85 
     86 // interface provided by Radiant to the plugin
     87 // {A2CCF366-BA60-11d3-A3E3-0004AC96D4C3}
     88 static const GUID QERAppBSPFrontendTable_GUID = 
     89 { 0xa2ccf366, 0xba60, 0x11d3, { 0xa3, 0xe3, 0x0, 0x4, 0xac, 0x96, 0xd4, 0xc3 } };
     90 
     91 typedef char * (WINAPI* PFN_GETMAPNAME) ();
     92 typedef void (WINAPI* PFN_LOADPOINTFILE) ();
     93 
     94 struct _QERAppBSPFrontendTable
     95 {
     96 	int m_nSize;
     97 	PFN_GETMAPNAME		m_pfnGetMapName;
     98 	PFN_LOADPOINTFILE	m_pfnLoadPointFile;
     99 };
    100 
    101 #endif