IBSPFrontend.h 3.1 KB

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