[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [19629] trunk/blender/source/gameengine: BGE API cleanup: StateActuator.

Benoit Bolsee benoit.bolsee at online.be
Thu Apr 9 23:15:44 CEST 2009


Revision: 19629
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=19629
Author:   ben2610
Date:     2009-04-09 23:15:44 +0200 (Thu, 09 Apr 2009)

Log Message:
-----------
BGE API cleanup: StateActuator.

Modified Paths:
--------------
    trunk/blender/source/gameengine/Ketsji/KX_PythonInit.cpp
    trunk/blender/source/gameengine/Ketsji/KX_StateActuator.cpp
    trunk/blender/source/gameengine/Ketsji/KX_StateActuator.h
    trunk/blender/source/gameengine/PyDoc/KX_SoundActuator.py

Modified: trunk/blender/source/gameengine/Ketsji/KX_PythonInit.cpp
===================================================================
--- trunk/blender/source/gameengine/Ketsji/KX_PythonInit.cpp	2009-04-09 20:40:12 UTC (rev 19628)
+++ trunk/blender/source/gameengine/Ketsji/KX_PythonInit.cpp	2009-04-09 21:15:44 UTC (rev 19629)
@@ -58,6 +58,7 @@
 #include "KX_ConstraintActuator.h"
 #include "KX_IpoActuator.h"
 #include "KX_SoundActuator.h"
+#include "KX_StateActuator.h"
 #include "BL_ActionActuator.h"
 #include "RAS_IRasterizer.h"
 #include "RAS_ICanvas.h"
@@ -1154,7 +1155,12 @@
 	KX_MACRO_addTypesToDict(d, KX_SOUNDACT_LOOPBIDIRECTIONAL, KX_SoundActuator::KX_SOUNDACT_LOOPBIDIRECTIONAL);
 	KX_MACRO_addTypesToDict(d, KX_SOUNDACT_LOOPBIDIRECTIONAL_STOP, KX_SoundActuator::KX_SOUNDACT_LOOPBIDIRECTIONAL_STOP);
 
+	KX_MACRO_addTypesToDict(d, KX_STATE_OP_CPY, KX_StateActuator::OP_CPY);
+	KX_MACRO_addTypesToDict(d, KX_STATE_OP_SET, KX_StateActuator::OP_SET);
+	KX_MACRO_addTypesToDict(d, KX_STATE_OP_CLR, KX_StateActuator::OP_CLR);
+	KX_MACRO_addTypesToDict(d, KX_STATE_OP_NEG, KX_StateActuator::OP_NEG);
 
+
 	// Check for errors
 	if (PyErr_Occurred())
     {

Modified: trunk/blender/source/gameengine/Ketsji/KX_StateActuator.cpp
===================================================================
--- trunk/blender/source/gameengine/Ketsji/KX_StateActuator.cpp	2009-04-09 20:40:12 UTC (rev 19628)
+++ trunk/blender/source/gameengine/Ketsji/KX_StateActuator.cpp	2009-04-09 21:15:44 UTC (rev 19629)
@@ -138,14 +138,18 @@
 
 PyMethodDef 
 KX_StateActuator::Methods[] = {
+	// deprecated -->
 	{"setOperation", (PyCFunction) KX_StateActuator::sPySetOperation, 
 	 METH_VARARGS, (PY_METHODCHAR)SetOperation_doc},
 	{"setMask", (PyCFunction) KX_StateActuator::sPySetMask, 
 	 METH_VARARGS, (PY_METHODCHAR)SetMask_doc},
+	 // <--
 	{NULL,NULL} //Sentinel
 };
 
 PyAttributeDef KX_StateActuator::Attributes[] = {
+	KX_PYATTRIBUTE_INT_RW("operation",KX_StateActuator::OP_NOP+1,KX_StateActuator::OP_COUNT-1,false,KX_StateActuator,m_operation),
+	KX_PYATTRIBUTE_INT_RW("mask",0,0x3FFFFFFF,false,KX_StateActuator,m_mask),
 	{ NULL }	//Sentinel
 };
 
@@ -154,6 +158,10 @@
 	py_getattro_up(SCA_IActuator);
 };
 
+int KX_StateActuator::py_setattro(PyObject *attr, PyObject* value)
+{
+	py_setattro_up(SCA_IActuator);
+}
 
 
 /* set operation ---------------------------------------------------------- */
@@ -168,6 +176,7 @@
 KX_StateActuator::PySetOperation(PyObject* self, 
 				    PyObject* args, 
 				    PyObject* kwds) {
+	ShowDeprecationWarning("setOperation()", "the operation property");
 	int oper;
 
 	if(!PyArg_ParseTuple(args, "i", &oper)) {
@@ -193,6 +202,7 @@
 KX_StateActuator::PySetMask(PyObject* self, 
 				    PyObject* args, 
 				    PyObject* kwds) {
+	ShowDeprecationWarning("setMask()", "the mask property");
 	int mask;
 
 	if(!PyArg_ParseTuple(args, "i", &mask)) {

Modified: trunk/blender/source/gameengine/Ketsji/KX_StateActuator.h
===================================================================
--- trunk/blender/source/gameengine/Ketsji/KX_StateActuator.h	2009-04-09 20:40:12 UTC (rev 19628)
+++ trunk/blender/source/gameengine/Ketsji/KX_StateActuator.h	2009-04-09 21:15:44 UTC (rev 19629)
@@ -39,13 +39,15 @@
 
 	/** Make visible? */
 	enum {
+		OP_NOP = -1,
 		OP_CPY = 0,
 		OP_SET,
 		OP_CLR,
-		OP_NEG
+		OP_NEG,
+		OP_COUNT
 	};
 	int				m_operation;
-	unsigned int	m_mask;
+	int				m_mask;
 
  public:
 	
@@ -74,6 +76,7 @@
 	/* --------------------------------------------------------------------- */
 
 	virtual PyObject* py_getattro(PyObject *attr);
+	virtual int py_setattro(PyObject *attr, PyObject* value);
 	//KX_PYMETHOD_DOC
 	KX_PYMETHOD_DOC(KX_StateActuator,SetOperation);
 	KX_PYMETHOD_DOC(KX_StateActuator,SetMask);

Modified: trunk/blender/source/gameengine/PyDoc/KX_SoundActuator.py
===================================================================
--- trunk/blender/source/gameengine/PyDoc/KX_SoundActuator.py	2009-04-09 20:40:12 UTC (rev 19628)
+++ trunk/blender/source/gameengine/PyDoc/KX_SoundActuator.py	2009-04-09 21:15:44 UTC (rev 19629)
@@ -7,7 +7,8 @@
 	Sound Actuator.
 	
 	The L{startSound()}, L{pauseSound()} and L{stopSound()} do not require
-	the actuator to be activated - they act instantly.
+	the actuator to be activated - they act instantly provided that the actuator has
+	been activated once at least.
 
 	@ivar filename: Sets the filename of the sound this actuator plays.
 	@type filename: string





More information about the Bf-blender-cvs mailing list