| 
									
										
										
										
											2011-02-22 10:33:14 +00:00
										 |  |  | /*
 | 
					
						
							| 
									
										
										
										
											2008-04-16 22:40:48 +00:00
										 |  |  |  * ***** BEGIN GPL LICENSE BLOCK ***** | 
					
						
							| 
									
										
										
										
											2002-10-12 11:37:38 +00:00
										 |  |  |  * | 
					
						
							|  |  |  |  * This program is free software; you can redistribute it and/or | 
					
						
							|  |  |  |  * modify it under the terms of the GNU General Public License | 
					
						
							|  |  |  |  * as published by the Free Software Foundation; either version 2 | 
					
						
							| 
									
										
										
										
											2008-04-16 22:40:48 +00:00
										 |  |  |  * of the License, or (at your option) any later version. | 
					
						
							| 
									
										
										
										
											2002-10-12 11:37:38 +00:00
										 |  |  |  * | 
					
						
							|  |  |  |  * This program is distributed in the hope that it will be useful, | 
					
						
							|  |  |  |  * but WITHOUT ANY WARRANTY; without even the implied warranty of | 
					
						
							|  |  |  |  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | 
					
						
							|  |  |  |  * GNU General Public License for more details. | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * You should have received a copy of the GNU General Public License | 
					
						
							|  |  |  |  * along with this program; if not, write to the Free Software Foundation, | 
					
						
							| 
									
										
										
										
											2010-02-12 13:34:04 +00:00
										 |  |  |  * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | 
					
						
							| 
									
										
										
										
											2002-10-12 11:37:38 +00:00
										 |  |  |  * | 
					
						
							|  |  |  |  * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV. | 
					
						
							|  |  |  |  * All rights reserved. | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * The Original Code is: all of this file. | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * Contributor(s): none yet. | 
					
						
							|  |  |  |  * | 
					
						
							| 
									
										
										
										
											2008-04-16 22:40:48 +00:00
										 |  |  |  * ***** END GPL LICENSE BLOCK ***** | 
					
						
							| 
									
										
										
										
											2002-10-12 11:37:38 +00:00
										 |  |  |  */ | 
					
						
							| 
									
										
										
										
											2011-02-22 10:33:14 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | /** \file KX_PythonInit.h
 | 
					
						
							|  |  |  |  *  \ingroup ketsji | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-02-23 10:41:31 +00:00
										 |  |  | #ifndef __KX_PYTHONINIT_H__
 | 
					
						
							|  |  |  | #define __KX_PYTHONINIT_H__
 | 
					
						
							| 
									
										
										
										
											2002-10-12 11:37:38 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-07-12 16:55:33 +02:00
										 |  |  | #include "EXP_Python.h"
 | 
					
						
							| 
									
										
										
										
											2002-10-12 11:37:38 +00:00
										 |  |  | #include "STR_String.h"
 | 
					
						
							| 
									
										
										
										
											2013-12-24 05:44:54 +11:00
										 |  |  | #include "MT_Vector3.h"
 | 
					
						
							| 
									
										
										
										
											2002-10-12 11:37:38 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-06-06 08:33:15 +01:00
										 |  |  | class KX_KetsjiEngine; | 
					
						
							|  |  |  | class KX_Scene; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2002-10-12 11:37:38 +00:00
										 |  |  | typedef enum { | 
					
						
							|  |  |  | 	psl_Lowest = 0, | 
					
						
							| 
									
										
										
										
											2013-12-24 05:44:54 +11:00
										 |  |  | 	psl_Highest, | 
					
						
							| 
									
										
										
										
											2002-10-12 11:37:38 +00:00
										 |  |  | } TPythonSecurityLevel; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | extern bool gUseVisibilityTemp; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-10-31 04:11:39 +00:00
										 |  |  | #ifdef WITH_PYTHON
 | 
					
						
							| 
									
										
										
										
											2015-01-13 11:43:22 +01:00
										 |  |  | PyMODINIT_FUNC initBGE(void); | 
					
						
							| 
									
										
										
										
											2015-06-15 21:20:47 +02:00
										 |  |  | PyMODINIT_FUNC initApplicationPythonBinding(void); | 
					
						
							| 
									
										
										
										
											2014-06-06 08:33:15 +01:00
										 |  |  | PyMODINIT_FUNC initGameLogicPythonBinding(void); | 
					
						
							|  |  |  | PyMODINIT_FUNC initGameKeysPythonBinding(void); | 
					
						
							|  |  |  | PyMODINIT_FUNC initRasterizerPythonBinding(void); | 
					
						
							|  |  |  | PyMODINIT_FUNC initVideoTexturePythonBinding(void); | 
					
						
							| 
									
										
										
										
											2014-06-04 09:17:52 +01:00
										 |  |  | PyObject *initGamePlayerPythonScripting(struct Main *maggie, int argc, char **argv); | 
					
						
							|  |  |  | PyObject *initGamePythonScripting(struct Main *maggie); | 
					
						
							| 
									
										
										
										
											2013-12-24 05:44:54 +11:00
										 |  |  | 
 | 
					
						
							|  |  |  | void exitGamePlayerPythonScripting(); | 
					
						
							|  |  |  | void exitGamePythonScripting(); | 
					
						
							| 
									
										
										
										
											2012-09-16 04:58:18 +00:00
										 |  |  | void setupGamePython(KX_KetsjiEngine *ketsjiengine, KX_Scene *startscene, Main *blenderdata, | 
					
						
							| 
									
										
										
										
											2013-12-24 05:44:54 +11:00
										 |  |  |                      PyObject *pyGlobalDict, PyObject **gameLogic, PyObject **gameLogic_keys, int argc, char **argv); | 
					
						
							|  |  |  | void setGamePythonPath(const char *path); | 
					
						
							|  |  |  | void resetGamePythonPath(); | 
					
						
							|  |  |  | void pathGamePythonConfig(char *path); | 
					
						
							|  |  |  | int saveGamePythonConfig(char **marshal_buffer); | 
					
						
							|  |  |  | int loadGamePythonConfig(char *marshal_buffer, int marshal_length); | 
					
						
							| 
									
										
										
										
											2009-09-29 21:42:40 +00:00
										 |  |  | #endif
 | 
					
						
							| 
									
										
										
										
											2008-09-12 02:15:16 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-06-21 05:41:06 +00:00
										 |  |  | void addImportMain(struct Main *maggie); | 
					
						
							|  |  |  | void removeImportMain(struct Main *maggie); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-10-31 21:06:48 +00:00
										 |  |  | class KX_KetsjiEngine; | 
					
						
							|  |  |  | class KX_Scene; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-06-06 08:33:15 +01:00
										 |  |  | void KX_SetActiveScene(KX_Scene *scene); | 
					
						
							|  |  |  | KX_Scene *KX_GetActiveScene(); | 
					
						
							|  |  |  | KX_KetsjiEngine *KX_GetActiveEngine(); | 
					
						
							| 
									
										
										
										
											2012-09-01 21:23:05 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | typedef int (*PyNextFrameFunc)(void *); | 
					
						
							| 
									
										
										
										
											2012-09-16 04:58:18 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-09-01 21:23:05 +00:00
										 |  |  | struct PyNextFrameState { | 
					
						
							| 
									
										
										
										
											2012-09-16 04:58:18 +00:00
										 |  |  | 	/** can be either a GPG_NextFrameState or a BL_KetsjiNextFrameState */ | 
					
						
							|  |  |  | 	void *state; | 
					
						
							|  |  |  | 	/** can be either GPG_PyNextFrame or BL_KetsjiPyNextFrame */ | 
					
						
							|  |  |  | 	PyNextFrameFunc func; | 
					
						
							| 
									
										
										
										
											2012-09-01 21:23:05 +00:00
										 |  |  | }; | 
					
						
							|  |  |  | extern struct PyNextFrameState pynextframestate; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-12-24 05:44:54 +11:00
										 |  |  | void KX_RasterizerDrawDebugLine(const MT_Vector3 &from,const MT_Vector3 &to,const MT_Vector3 &color); | 
					
						
							|  |  |  | void KX_RasterizerDrawDebugCircle(const MT_Vector3 ¢er, const MT_Scalar radius, const MT_Vector3 &color, | 
					
						
							|  |  |  |                                   const MT_Vector3 &normal, int nsector); | 
					
						
							| 
									
										
										
										
											2011-02-16 17:07:18 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2002-10-12 11:37:38 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-10-09 13:36:42 +00:00
										 |  |  | #endif  /* __KX_PYTHONINIT_H__ */
 |