]> de.git.xonotic.org Git - xonotic/netradiant.git/blobdiff - plugins/model/plugin.h
merge branch work back into trunk
[xonotic/netradiant.git] / plugins / model / plugin.h
index 2f28d8527ceb18c57538f081260acdacf9fa67f1..b2ccccda7c16e95ba3d986cd9ddd2b8326acd43f 100644 (file)
@@ -1,6 +1,6 @@
 /*
-Copyright (C) 2001-2006, William Joseph.
-All Rights Reserved.
+Copyright (C) 1999-2007 id Software, Inc. and contributors.
+For a list of contributors, see the accompanying CONTRIBUTORS file.
 
 This file is part of GtkRadiant.
 
@@ -19,7 +19,58 @@ along with GtkRadiant; if not, write to the Free Software
 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 */
 
-#if !defined(INCLUDED_PLUGIN_H)
-#define INCLUDED_PLUGIN_H
+#ifndef _PLUGIN_H_
+#define _PLUGIN_H_
 
-#endif
+/*!
+\todo need general notice about lib purpose etc.
+and the external dependencies (such as GLib, STL, mathlib etc.)
+*/
+
+/*!
+\todo not sure about what should be used for common data structures, GLib or STL
+I think STL would be better since I intend on using STL in synapse
+*/
+
+#include <stdio.h>
+
+#include "synapse.h"
+#include "iplugin.h"
+#define USE_QERTABLE_DEFINE
+#include "qerplugin.h"
+#include "imodel.h"
+#include "igl.h"
+#include "ifilesystem.h"
+#include "ishaders.h"
+#include "itoolbar.h"
+
+extern _QERFuncTable_1 g_FuncTable;
+extern _QERQglTable g_QglTable;
+extern _QERShadersTable g_ShadersTable;
+extern _QERFileSystemTable g_FileSystemTable;
+
+#define vfsLoadFile g_FileSystemTable.m_pfnLoadFile
+#define vfsFreeFile g_FileSystemTable.m_pfnFreeFile
+#define vfsBasePromptPath g_FileSystemTable.m_pfnBasePromptPath
+#define QERApp_Shader_ForName g_ShadersTable.m_pfnShader_ForName
+
+void DoFlushReloadSelected();
+void DoFlushReloadAll();
+
+void LoadModel(entity_interfaces_t *model, const char *name);
+
+extern CSynapseServer* g_pSynapseServer;
+
+class CSynapseClientModel : public CSynapseClient
+{
+public:
+  // CSynapseClient API
+  bool RequestAPI(APIDescriptor_t *pAPI);
+  const char* GetInfo();
+  const char* GetName();
+  
+  CSynapseClientModel() { }
+  virtual ~CSynapseClientModel() { }
+};
+
+#endif // _PLUGIN_H_