transfer from internal tree r5311 branches/1.4-gpl
[xonotic/netradiant.git] / plugins / spritemodel / plugin.h
1 /*\r
2 Copyright (C) 1999-2007 id Software, Inc. and contributors.\r
3 For a list of contributors, see the accompanying CONTRIBUTORS file.\r
4 \r
5 This file is part of GtkRadiant.\r
6 \r
7 GtkRadiant is free software; you can redistribute it and/or modify\r
8 it under the terms of the GNU General Public License as published by\r
9 the Free Software Foundation; either version 2 of the License, or\r
10 (at your option) any later version.\r
11 \r
12 GtkRadiant is distributed in the hope that it will be useful,\r
13 but WITHOUT ANY WARRANTY; without even the implied warranty of\r
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
15 GNU General Public License for more details.\r
16 \r
17 You should have received a copy of the GNU General Public License\r
18 along with GtkRadiant; if not, write to the Free Software\r
19 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA\r
20 */\r
21 \r
22 //\r
23 // Sprite Model Plugin\r
24 //\r
25 // Code by Hydra aka Dominic Clifton\r
26 //\r
27 // Based on MD3Model source code by SPoG\r
28 //\r
29 \r
30 #ifndef _PLUGIN_H_\r
31 #define _PLUGIN_H_\r
32 \r
33 /*!\r
34 \todo need general notice about lib purpose etc.\r
35 and the external dependencies (such as GLib, STL, mathlib etc.)\r
36 */\r
37 \r
38 /*!\r
39 \todo not sure about what should be used for common data structures, GLib or STL\r
40 I think STL would be better since I intend on using STL in synapse\r
41 */\r
42 \r
43 #include <stdio.h>\r
44 \r
45 #include "synapse.h"\r
46 #include "iplugin.h"\r
47 #define USE_QERTABLE_DEFINE\r
48 #include "qerplugin.h"\r
49 #include "imodel.h"\r
50 #include "igl.h"\r
51 #include "ifilesystem.h"\r
52 #include "ishaders.h"\r
53 \r
54 extern _QERFuncTable_1 g_FuncTable;\r
55 extern _QERQglTable g_QglTable;\r
56 extern _QERShadersTable g_ShadersTable;\r
57 \r
58 #define QERApp_Shader_ForName g_ShadersTable.m_pfnShader_ForName\r
59 #define QERApp_Try_Shader_ForName g_ShadersTable.m_pfnTry_Shader_ForName\r
60 \r
61 void LoadSpriteModel(entity_interfaces_t *interfaces, const char *name);\r
62 \r
63 extern CSynapseServer* g_pSynapseServer;\r
64 \r
65 class CSynapseClientModel : public CSynapseClient\r
66 {\r
67 public:\r
68   // CSynapseClient API\r
69   bool RequestAPI(APIDescriptor_t *pAPI);\r
70   const char* GetInfo();\r
71   const char* GetName();\r
72 \r
73   CSynapseClientModel() { }\r
74   virtual ~CSynapseClientModel() { }\r
75 };\r
76 \r
77 \r
78 #endif // _PLUGIN_H_\r