[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [19481] trunk/blender/source/gameengine: BGE API cleanup, patch from Moguri: RaySensor, NetworkMessageActuator, NetworkMessageSensor.
Benoit Bolsee
benoit.bolsee at online.be
Tue Mar 31 21:02:03 CEST 2009
Revision: 19481
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=19481
Author: ben2610
Date: 2009-03-31 21:02:01 +0200 (Tue, 31 Mar 2009)
Log Message:
-----------
BGE API cleanup, patch from Moguri: RaySensor, NetworkMessageActuator, NetworkMessageSensor.
Modified Paths:
--------------
trunk/blender/source/gameengine/Ketsji/KXNetwork/KX_NetworkMessageActuator.cpp
trunk/blender/source/gameengine/Ketsji/KXNetwork/KX_NetworkMessageActuator.h
trunk/blender/source/gameengine/Ketsji/KXNetwork/KX_NetworkMessageSensor.cpp
trunk/blender/source/gameengine/Ketsji/KXNetwork/KX_NetworkMessageSensor.h
trunk/blender/source/gameengine/Ketsji/KX_PythonInit.cpp
trunk/blender/source/gameengine/Ketsji/KX_RaySensor.cpp
trunk/blender/source/gameengine/Ketsji/KX_RaySensor.h
trunk/blender/source/gameengine/PyDoc/GameLogic.py
trunk/blender/source/gameengine/PyDoc/KX_NetworkMessageActuator.py
trunk/blender/source/gameengine/PyDoc/KX_NetworkMessageSensor.py
trunk/blender/source/gameengine/PyDoc/KX_RaySensor.py
Modified: trunk/blender/source/gameengine/Ketsji/KXNetwork/KX_NetworkMessageActuator.cpp
===================================================================
--- trunk/blender/source/gameengine/Ketsji/KXNetwork/KX_NetworkMessageActuator.cpp 2009-03-31 14:29:58 UTC (rev 19480)
+++ trunk/blender/source/gameengine/Ketsji/KXNetwork/KX_NetworkMessageActuator.cpp 2009-03-31 19:02:01 UTC (rev 19481)
@@ -47,7 +47,7 @@
m_networkscene(networkscene),
m_toPropName(toPropName),
m_subject(subject),
- m_bodyType(bodyType),
+ m_bPropBody(bodyType),
m_body(body)
{
}
@@ -69,7 +69,7 @@
}
//printf("messageactuator true event\n");
- if (m_bodyType == 1) // ACT_MESG_PROP in DNA_actuator_types.h
+ if (m_bPropBody) // ACT_MESG_PROP in DNA_actuator_types.h
{
m_networkscene->SendMessage(
m_toPropName,
@@ -132,6 +132,7 @@
};
PyMethodDef KX_NetworkMessageActuator::Methods[] = {
+ // Deprecated ----->
{"setToPropName", (PyCFunction)
KX_NetworkMessageActuator::sPySetToPropName, METH_VARARGS},
{"setSubject", (PyCFunction)
@@ -140,23 +141,40 @@
KX_NetworkMessageActuator::sPySetBodyType, METH_VARARGS},
{"setBody", (PyCFunction)
KX_NetworkMessageActuator::sPySetBody, METH_VARARGS},
+ // <-----
{NULL,NULL} // Sentinel
};
PyAttributeDef KX_NetworkMessageActuator::Attributes[] = {
+ KX_PYATTRIBUTE_STRING_RW("propName", 0, 100, false, KX_NetworkMessageActuator, m_toPropName),
+ KX_PYATTRIBUTE_STRING_RW("subject", 0, 100, false, KX_NetworkMessageActuator, m_subject),
+ KX_PYATTRIBUTE_BOOL_RW("usePropBody", KX_NetworkMessageActuator, m_bPropBody),
+ KX_PYATTRIBUTE_STRING_RW("body", 0, 100, false, KX_NetworkMessageActuator, m_body),
{ NULL } //Sentinel
};
PyObject* KX_NetworkMessageActuator::_getattr(const char *attr) {
+ PyObject* object = _getattr_self(Attributes, this, attr);
+ if (object != NULL)
+ return object;
_getattr_up(SCA_IActuator);
}
+int KX_NetworkMessageActuator::_setattr(const char *attr, PyObject *value) {
+ int ret = _setattr_self(Attributes, this, attr, value);
+ if (ret >= 0)
+ return ret;
+ return SCA_IActuator::_setattr(attr, value);
+}
+
+// Deprecated ----->
// 1. SetToPropName
PyObject* KX_NetworkMessageActuator::PySetToPropName(
PyObject* self,
PyObject* args,
PyObject* kwds)
{
+ ShowDeprecationWarning("setToProp()", "the propName property");
char* ToPropName;
if (PyArg_ParseTuple(args, "s", &ToPropName)) {
@@ -175,6 +193,7 @@
PyObject* args,
PyObject* kwds)
{
+ ShowDeprecationWarning("setSubject()", "the subject property");
char* Subject;
if (PyArg_ParseTuple(args, "s", &Subject)) {
@@ -193,10 +212,11 @@
PyObject* args,
PyObject* kwds)
{
+ ShowDeprecationWarning("setBodyType()", "the usePropBody property");
int BodyType;
if (PyArg_ParseTuple(args, "i", &BodyType)) {
- m_bodyType = BodyType;
+ m_bPropBody = (BodyType != 0);
}
else {
return NULL;
@@ -211,6 +231,7 @@
PyObject* args,
PyObject* kwds)
{
+ ShowDeprecationWarning("setBody()", "the body property");
char* Body;
if (PyArg_ParseTuple(args, "s", &Body)) {
@@ -223,3 +244,4 @@
Py_RETURN_NONE;
}
+// <----- Deprecated
\ No newline at end of file
Modified: trunk/blender/source/gameengine/Ketsji/KXNetwork/KX_NetworkMessageActuator.h
===================================================================
--- trunk/blender/source/gameengine/Ketsji/KXNetwork/KX_NetworkMessageActuator.h 2009-03-31 14:29:58 UTC (rev 19480)
+++ trunk/blender/source/gameengine/Ketsji/KXNetwork/KX_NetworkMessageActuator.h 2009-03-31 19:02:01 UTC (rev 19481)
@@ -41,7 +41,7 @@
class NG_NetworkScene* m_networkscene; // needed for replication
STR_String m_toPropName;
STR_String m_subject;
- int m_bodyType;
+ bool m_bPropBody;
STR_String m_body;
public:
KX_NetworkMessageActuator(
@@ -62,11 +62,14 @@
/* ------------------------------------------------------------ */
virtual PyObject* _getattr(const char *attr);
+ virtual int _setattr(const char *attr, PyObject *value);
+ // Deprecated ----->
KX_PYMETHOD(KX_NetworkMessageActuator, SetToPropName);
KX_PYMETHOD(KX_NetworkMessageActuator, SetSubject);
KX_PYMETHOD(KX_NetworkMessageActuator, SetBodyType);
KX_PYMETHOD(KX_NetworkMessageActuator, SetBody);
+ // <-----
};
Modified: trunk/blender/source/gameengine/Ketsji/KXNetwork/KX_NetworkMessageSensor.cpp
===================================================================
--- trunk/blender/source/gameengine/Ketsji/KXNetwork/KX_NetworkMessageSensor.cpp 2009-03-31 14:29:58 UTC (rev 19480)
+++ trunk/blender/source/gameengine/Ketsji/KXNetwork/KX_NetworkMessageSensor.cpp 2009-03-31 19:02:01 UTC (rev 19481)
@@ -195,6 +195,7 @@
};
PyMethodDef KX_NetworkMessageSensor::Methods[] = {
+ // Deprecated ----->
{"setSubjectFilterText", (PyCFunction)
KX_NetworkMessageSensor::sPySetSubjectFilterText, METH_O,
(PY_METHODCHAR)SetSubjectFilterText_doc},
@@ -210,17 +211,53 @@
{"getSubjects", (PyCFunction)
KX_NetworkMessageSensor::sPyGetSubjects, METH_NOARGS,
(PY_METHODCHAR)GetSubjects_doc},
+ // <-----
{NULL,NULL} //Sentinel
};
PyAttributeDef KX_NetworkMessageSensor::Attributes[] = {
+ KX_PYATTRIBUTE_STRING_RW("subject", 0, 100, false, KX_NetworkMessageSensor, m_subject),
+ KX_PYATTRIBUTE_INT_RO("frameMessageCount", KX_NetworkMessageSensor, m_frame_message_count),
+ KX_PYATTRIBUTE_RO_FUNCTION("bodies", KX_NetworkMessageSensor, pyattr_get_bodies),
+ KX_PYATTRIBUTE_RO_FUNCTION("subjects", KX_NetworkMessageSensor, pyattr_get_subjects),
{ NULL } //Sentinel
};
PyObject* KX_NetworkMessageSensor::_getattr(const char *attr) {
- _getattr_up(SCA_ISensor); // implicit return!
+ PyObject* object = _getattr_self(Attributes, this, attr);
+ if (object != NULL)
+ return object;
+ _getattr_up(SCA_ISensor);
}
+int KX_NetworkMessageSensor::_setattr(const char *attr, PyObject *value) {
+ int ret = _setattr_self(Attributes, this, attr, value);
+ if (ret >= 0)
+ return ret;
+ return SCA_ISensor::_setattr(attr, value);
+}
+
+PyObject* KX_NetworkMessageSensor::pyattr_get_bodies(void *self_v, const KX_PYATTRIBUTE_DEF *attrdef)
+{
+ KX_NetworkMessageSensor *self = static_cast<KX_NetworkMessageSensor*>(self_v);
+ if (self->m_BodyList) {
+ return ((PyObject*) self->m_BodyList->AddRef());
+ } else {
+ return ((PyObject*) new CListValue());
+ }
+}
+
+PyObject* KX_NetworkMessageSensor::pyattr_get_subjects(void *self_v, const KX_PYATTRIBUTE_DEF *attrdef)
+{
+ KX_NetworkMessageSensor *self = static_cast<KX_NetworkMessageSensor*>(self_v);
+ if (self->m_SubjectList) {
+ return ((PyObject*) self->m_SubjectList->AddRef());
+ } else {
+ return ((PyObject*) new CListValue());
+ }
+}
+
+// Deprecated ----->
// 1. Set the message subject that this sensor listens for
const char KX_NetworkMessageSensor::SetSubjectFilterText_doc[] =
"\tsetSubjectFilterText(value)\n"
@@ -228,6 +265,7 @@
PyObject* KX_NetworkMessageSensor::PySetSubjectFilterText( PyObject* self, PyObject* value)
{
+ ShowDeprecationWarning("setSubjectFilterText()", "subject");
char* Subject = PyString_AsString(value);
if (Subject==NULL) {
PyErr_SetString(PyExc_TypeError, "expected a string message");
@@ -245,6 +283,7 @@
PyObject* KX_NetworkMessageSensor::PyGetFrameMessageCount( PyObject* )
{
+ ShowDeprecationWarning("getFrameMessageCount()", "frameMessageCount");
return PyInt_FromLong(long(m_frame_message_count));
}
@@ -255,6 +294,7 @@
PyObject* KX_NetworkMessageSensor::PyGetBodies( PyObject* )
{
+ ShowDeprecationWarning("getBodies()", "bodies");
if (m_BodyList) {
return ((PyObject*) m_BodyList->AddRef());
} else {
@@ -269,6 +309,7 @@
PyObject* KX_NetworkMessageSensor::PyGetSubject( PyObject* )
{
+ ShowDeprecationWarning("getSubject()", "subject");
return PyString_FromString(m_subject ? m_subject : "");
}
@@ -279,9 +320,11 @@
PyObject* KX_NetworkMessageSensor::PyGetSubjects( PyObject* )
{
+ ShowDeprecationWarning("getSubjects()", "subjects");
if (m_SubjectList) {
return ((PyObject*) m_SubjectList->AddRef());
} else {
return ((PyObject*) new CListValue());
}
}
+// <----- Deprecated
\ No newline at end of file
Modified: trunk/blender/source/gameengine/Ketsji/KXNetwork/KX_NetworkMessageSensor.h
===================================================================
--- trunk/blender/source/gameengine/Ketsji/KXNetwork/KX_NetworkMessageSensor.h 2009-03-31 14:29:58 UTC (rev 19480)
+++ trunk/blender/source/gameengine/Ketsji/KXNetwork/KX_NetworkMessageSensor.h 2009-03-31 19:02:01 UTC (rev 19481)
@@ -73,13 +73,19 @@
/* ------------------------------------------------------------- */
virtual PyObject* _getattr(const char *attr);
+ virtual int _setattr(const char *attr, PyObject *value);
+ // Deprecated ----->
KX_PYMETHOD_DOC_O(KX_NetworkMessageSensor, SetSubjectFilterText);
KX_PYMETHOD_DOC_NOARGS(KX_NetworkMessageSensor, GetFrameMessageCount);
KX_PYMETHOD_DOC_NOARGS(KX_NetworkMessageSensor, GetBodies);
KX_PYMETHOD_DOC_NOARGS(KX_NetworkMessageSensor, GetSubject);
KX_PYMETHOD_DOC_NOARGS(KX_NetworkMessageSensor, GetSubjects);
+ // <-----
+ /* attributes */
+ static PyObject* pyattr_get_bodies(void* self_v, const KX_PYATTRIBUTE_DEF *attrdef);
+ static PyObject* pyattr_get_subjects(void* self_v, const KX_PYATTRIBUTE_DEF *attrdef);
};
Modified: trunk/blender/source/gameengine/Ketsji/KX_PythonInit.cpp
===================================================================
--- trunk/blender/source/gameengine/Ketsji/KX_PythonInit.cpp 2009-03-31 14:29:58 UTC (rev 19480)
+++ trunk/blender/source/gameengine/Ketsji/KX_PythonInit.cpp 2009-03-31 19:02:01 UTC (rev 19481)
@@ -48,6 +48,7 @@
#include "KX_KetsjiEngine.h"
#include "KX_RadarSensor.h"
+#include "KX_RaySensor.h"
#include "SCA_IInputDevice.h"
#include "SCA_PropertySensor.h"
@@ -1070,6 +1071,14 @@
KX_MACRO_addTypesToDict(d, KX_RADAR_AXIS_NEG_Y, KX_RadarSensor::KX_RADAR_AXIS_NEG_X);
KX_MACRO_addTypesToDict(d, KX_RADAR_AXIS_NEG_Z, KX_RadarSensor::KX_RADAR_AXIS_NEG_Z);
+ /* Ray Sensor */
+ KX_MACRO_addTypesToDict(d, KX_RAY_AXIS_POS_X, KX_RaySensor::KX_RAY_AXIS_POS_X);
+ KX_MACRO_addTypesToDict(d, KX_RAY_AXIS_POS_Y, KX_RaySensor::KX_RAY_AXIS_POS_Y);
+ KX_MACRO_addTypesToDict(d, KX_RAY_AXIS_POS_Z, KX_RaySensor::KX_RAY_AXIS_POS_Z);
+ KX_MACRO_addTypesToDict(d, KX_RAY_AXIS_NEG_X, KX_RaySensor::KX_RAY_AXIS_NEG_Y);
+ KX_MACRO_addTypesToDict(d, KX_RAY_AXIS_NEG_Y, KX_RaySensor::KX_RAY_AXIS_NEG_X);
+ KX_MACRO_addTypesToDict(d, KX_RAY_AXIS_NEG_Z, KX_RaySensor::KX_RAY_AXIS_NEG_Z);
+
// Check for errors
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list