]> de.git.xonotic.org Git - xonotic/netradiant.git/blob - include/ipatch.h
set eol-style
[xonotic/netradiant.git] / include / ipatch.h
1 /*
2 Copyright (C) 1999-2007 id Software, Inc. and contributors.
3 For a list of contributors, see the accompanying CONTRIBUTORS file.
4
5 This file is part of GtkRadiant.
6
7 GtkRadiant is free software; you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation; either version 2 of the License, or
10 (at your option) any later version.
11
12 GtkRadiant is distributed in the hope that it will be useful,
13 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 GtkRadiant; if not, write to the Free Software
19 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
20 */
21
22 #ifndef _IPATCH_H_
23 #define _IPATCH_H_
24
25 //
26 // API for patch stuff
27 //
28
29 #define PATCH_MAJOR "patch"
30 // {4715565b-ab3a-49fa-841f-ee965b6d88a5}
31 static const GUID QERPatchTable_GUID = 
32 { 0x4715565b, 0xab3a, 0x49fa, { 0x84, 0x1f, 0xee, 0x96, 0x5b, 0x6d, 0x88, 0xa5 } };
33
34 typedef patchMesh_t* (* PFN_PATCHALLOC)   ();
35 typedef patchMesh_t* (* PFN_MAKENEWPATCH) ();
36 typedef brush_t* (* PFN_ADDBRUSHFORPATCH) (patchMesh_t *pm, bool bLinkToWorld );
37
38 struct _QERPatchTable
39 {
40   int m_nSize;
41   PFN_PATCHALLOC m_pfnPatch_Alloc;
42   PFN_MAKENEWPATCH m_pfnMakeNewPatch;
43   PFN_ADDBRUSHFORPATCH m_pfnAddBrushForPatch;
44 };
45
46 #ifdef USE_PATCHTABLE_DEFINE
47 #define __PATCHTABLENAME g_PatchTable
48 #define Patch_Alloc __PATCHTABLENAME.m_pfnPatch_Alloc
49 #define MakeNewPatch __PATCHTABLENAME.m_pfnMakeNewPatch
50 #define AddBrushForPatch __PATCHTABLENAME.m_pfnAddBrushForPatch
51 #endif
52
53 #endif