From 2fd6e728513f46e1f313667dfcf6b3d6e09cad39 Mon Sep 17 00:00:00 2001 From: Kester Maddock Date: Sun, 16 May 2004 13:05:15 +0000 Subject: Changed Python _getattr/_setattr methods to use const STR_String& instead of char* - makes using these methods much nicer. --- source/gameengine/Converter/BL_ActionActuator.cpp | 2 +- source/gameengine/Converter/BL_ActionActuator.h | 2 +- source/gameengine/Expressions/ListValue.cpp | 2 +- source/gameengine/Expressions/ListValue.h | 2 +- source/gameengine/Expressions/PyObjectPlus.cpp | 6 +++--- source/gameengine/Expressions/PyObjectPlus.h | 11 ++++++----- source/gameengine/Expressions/Value.cpp | 4 ++-- source/gameengine/Expressions/Value.h | 18 ++++++++++++++++-- source/gameengine/GameLogic/SCA_ANDController.cpp | 2 +- source/gameengine/GameLogic/SCA_ANDController.h | 2 +- source/gameengine/GameLogic/SCA_AlwaysSensor.cpp | 2 +- source/gameengine/GameLogic/SCA_AlwaysSensor.h | 2 +- source/gameengine/GameLogic/SCA_ExpressionController.h | 2 +- source/gameengine/GameLogic/SCA_ILogicBrick.cpp | 2 +- source/gameengine/GameLogic/SCA_ILogicBrick.h | 2 +- source/gameengine/GameLogic/SCA_IObject.cpp | 2 +- source/gameengine/GameLogic/SCA_IObject.h | 2 +- source/gameengine/GameLogic/SCA_ISensor.cpp | 2 +- source/gameengine/GameLogic/SCA_ISensor.h | 8 ++++---- source/gameengine/GameLogic/SCA_KeyboardSensor.cpp | 2 +- source/gameengine/GameLogic/SCA_KeyboardSensor.h | 2 +- source/gameengine/GameLogic/SCA_MouseSensor.cpp | 2 +- source/gameengine/GameLogic/SCA_MouseSensor.h | 2 +- source/gameengine/GameLogic/SCA_ORController.cpp | 2 +- source/gameengine/GameLogic/SCA_ORController.h | 2 +- source/gameengine/GameLogic/SCA_PropertyActuator.cpp | 2 +- source/gameengine/GameLogic/SCA_PropertyActuator.h | 2 +- source/gameengine/GameLogic/SCA_PropertySensor.cpp | 2 +- source/gameengine/GameLogic/SCA_PropertySensor.h | 2 +- source/gameengine/GameLogic/SCA_PythonController.cpp | 2 +- source/gameengine/GameLogic/SCA_PythonController.h | 2 +- source/gameengine/GameLogic/SCA_RandomActuator.cpp | 2 +- source/gameengine/GameLogic/SCA_RandomActuator.h | 2 +- source/gameengine/GameLogic/SCA_RandomSensor.cpp | 2 +- source/gameengine/GameLogic/SCA_RandomSensor.h | 2 +- .../Ketsji/KXNetwork/KX_NetworkMessageActuator.cpp | 2 +- .../Ketsji/KXNetwork/KX_NetworkMessageActuator.h | 2 +- .../Ketsji/KXNetwork/KX_NetworkMessageSensor.cpp | 2 +- .../Ketsji/KXNetwork/KX_NetworkMessageSensor.h | 2 +- source/gameengine/Ketsji/KX_CDActuator.cpp | 2 +- source/gameengine/Ketsji/KX_CDActuator.h | 2 +- source/gameengine/Ketsji/KX_CameraActuator.cpp | 2 +- source/gameengine/Ketsji/KX_CameraActuator.h | 2 +- source/gameengine/Ketsji/KX_ConstraintActuator.cpp | 2 +- source/gameengine/Ketsji/KX_ConstraintActuator.h | 2 +- source/gameengine/Ketsji/KX_ConstraintWrapper.cpp | 4 ++-- source/gameengine/Ketsji/KX_ConstraintWrapper.h | 4 ++-- source/gameengine/Ketsji/KX_GameActuator.cpp | 2 +- source/gameengine/Ketsji/KX_GameActuator.h | 2 +- source/gameengine/Ketsji/KX_GameObject.cpp | 2 +- source/gameengine/Ketsji/KX_IpoActuator.cpp | 2 +- source/gameengine/Ketsji/KX_IpoActuator.h | 2 +- source/gameengine/Ketsji/KX_MeshProxy.cpp | 2 +- source/gameengine/Ketsji/KX_MeshProxy.h | 2 +- source/gameengine/Ketsji/KX_MouseFocusSensor.cpp | 2 +- source/gameengine/Ketsji/KX_MouseFocusSensor.h | 2 +- source/gameengine/Ketsji/KX_NearSensor.cpp | 2 +- source/gameengine/Ketsji/KX_NearSensor.h | 2 +- source/gameengine/Ketsji/KX_ObjectActuator.cpp | 8 +++----- source/gameengine/Ketsji/KX_ObjectActuator.h | 2 +- source/gameengine/Ketsji/KX_PhysicsObjectWrapper.cpp | 6 +++--- source/gameengine/Ketsji/KX_PhysicsObjectWrapper.h | 4 ++-- source/gameengine/Ketsji/KX_RadarSensor.cpp | 2 +- source/gameengine/Ketsji/KX_RadarSensor.h | 2 +- source/gameengine/Ketsji/KX_RaySensor.cpp | 2 +- source/gameengine/Ketsji/KX_RaySensor.h | 2 +- source/gameengine/Ketsji/KX_SCA_AddObjectActuator.cpp | 14 ++------------ source/gameengine/Ketsji/KX_SCA_AddObjectActuator.h | 4 ++-- source/gameengine/Ketsji/KX_SCA_EndObjectActuator.cpp | 2 +- source/gameengine/Ketsji/KX_SCA_EndObjectActuator.h | 4 ++-- .../gameengine/Ketsji/KX_SCA_ReplaceMeshActuator.cpp | 2 +- source/gameengine/Ketsji/KX_SCA_ReplaceMeshActuator.h | 4 ++-- source/gameengine/Ketsji/KX_SceneActuator.cpp | 2 +- source/gameengine/Ketsji/KX_SceneActuator.h | 2 +- source/gameengine/Ketsji/KX_SoundActuator.cpp | 2 +- source/gameengine/Ketsji/KX_SoundActuator.h | 2 +- source/gameengine/Ketsji/KX_TouchSensor.cpp | 2 +- source/gameengine/Ketsji/KX_TouchSensor.h | 2 +- source/gameengine/Ketsji/KX_TrackToActuator.cpp | 2 +- source/gameengine/Ketsji/KX_TrackToActuator.h | 2 +- source/gameengine/Ketsji/KX_VertexProxy.cpp | 2 +- source/gameengine/Ketsji/KX_VertexProxy.h | 2 +- source/gameengine/Ketsji/KX_VisibilityActuator.cpp | 2 +- source/gameengine/Ketsji/KX_VisibilityActuator.h | 2 +- 84 files changed, 121 insertions(+), 118 deletions(-) (limited to 'source/gameengine') diff --git a/source/gameengine/Converter/BL_ActionActuator.cpp b/source/gameengine/Converter/BL_ActionActuator.cpp index 59d7ce16361..3f633eec9d6 100644 --- a/source/gameengine/Converter/BL_ActionActuator.cpp +++ b/source/gameengine/Converter/BL_ActionActuator.cpp @@ -399,7 +399,7 @@ PyMethodDef BL_ActionActuator::Methods[] = { {NULL,NULL} //Sentinel }; -PyObject* BL_ActionActuator::_getattr(char* attr) { +PyObject* BL_ActionActuator::_getattr(const STR_String& attr) { _getattr_up(SCA_IActuator); } diff --git a/source/gameengine/Converter/BL_ActionActuator.h b/source/gameengine/Converter/BL_ActionActuator.h index e3708bc6832..9e8054bff81 100644 --- a/source/gameengine/Converter/BL_ActionActuator.h +++ b/source/gameengine/Converter/BL_ActionActuator.h @@ -95,7 +95,7 @@ public: // KX_PYMETHOD(BL_ActionActuator,GetChannel); - virtual PyObject* _getattr(char* attr); + virtual PyObject* _getattr(const STR_String& attr); void SetBlendTime (float newtime); protected: diff --git a/source/gameengine/Expressions/ListValue.cpp b/source/gameengine/Expressions/ListValue.cpp index 380befa51bd..6984e5663db 100644 --- a/source/gameengine/Expressions/ListValue.cpp +++ b/source/gameengine/Expressions/ListValue.cpp @@ -205,7 +205,7 @@ PyMethodDef CListValue::Methods[] = { -PyObject* CListValue::_getattr(char* attr) { +PyObject* CListValue::_getattr(const STR_String& attr) { _getattr_up(CValue); } diff --git a/source/gameengine/Expressions/ListValue.h b/source/gameengine/Expressions/ListValue.h index 10c64a13177..431f8f558a9 100644 --- a/source/gameengine/Expressions/ListValue.h +++ b/source/gameengine/Expressions/ListValue.h @@ -59,7 +59,7 @@ public: bool CheckEqual(CValue* first,CValue* second); - virtual PyObject* _getattr(char *attr); + virtual PyObject* _getattr(const STR_String& attr); KX_PYMETHOD(CListValue,append); KX_PYMETHOD(CListValue,reverse); diff --git a/source/gameengine/Expressions/PyObjectPlus.cpp b/source/gameengine/Expressions/PyObjectPlus.cpp index f9801fe0f60..74468cf030d 100644 --- a/source/gameengine/Expressions/PyObjectPlus.cpp +++ b/source/gameengine/Expressions/PyObjectPlus.cpp @@ -100,15 +100,15 @@ PyParentObject PyObjectPlus::Parents[] = {&PyObjectPlus::Type, NULL}; /*------------------------------ * PyObjectPlus attributes -- attributes ------------------------------*/ -PyObject *PyObjectPlus::_getattr(char *attr) +PyObject *PyObjectPlus::_getattr(const STR_String& attr) { //if (streq(attr, "type")) // return Py_BuildValue("s", (*(GetParents()))->tp_name); - return Py_FindMethod(Methods, this, attr); + return Py_FindMethod(Methods, this, const_cast(attr.ReadPtr())); } -int PyObjectPlus::_setattr(char *attr, PyObject *value) +int PyObjectPlus::_setattr(const STR_String& attr, PyObject *value) { //return PyObject::_setattr(attr,value); //cerr << "Unknown attribute" << endl; diff --git a/source/gameengine/Expressions/PyObjectPlus.h b/source/gameengine/Expressions/PyObjectPlus.h index 40d8ffb5903..7c5f531f35b 100644 --- a/source/gameengine/Expressions/PyObjectPlus.h +++ b/source/gameengine/Expressions/PyObjectPlus.h @@ -40,6 +40,7 @@ #endif #include "KX_Python.h" +#include "STR_String.h" /*------------------------------ * Python defines @@ -72,7 +73,7 @@ inline void Py_Fatal(char *M) { // which allows attribute and method calls // to be properly passed up the hierarchy. #define _getattr_up(Parent) \ - PyObject *rvalue = Py_FindMethod(Methods, this, attr); \ + PyObject *rvalue = Py_FindMethod(Methods, this, const_cast(attr.ReadPtr())); \ if (rvalue == NULL) \ { \ PyErr_Clear(); \ @@ -107,15 +108,15 @@ class PyObjectPlus : public PyObject { // The PyObjectPlus abstract class // Py_DECREF(this); // }; // decref method - virtual PyObject *_getattr(char *attr); // _getattr method + virtual PyObject *_getattr(const STR_String& attr); // _getattr method static PyObject *__getattr(PyObject * PyObj, char *attr) // This should be the entry in Type. - { return ((PyObjectPlus*) PyObj)->_getattr(attr); }; + { return ((PyObjectPlus*) PyObj)->_getattr(STR_String(attr)); }; - virtual int _setattr(char *attr, PyObject *value); // _setattr method + virtual int _setattr(const STR_String& attr, PyObject *value); // _setattr method static int __setattr(PyObject *PyObj, // This should be the entry in Type. char *attr, PyObject *value) - { return ((PyObjectPlus*) PyObj)->_setattr(attr, value); }; + { return ((PyObjectPlus*) PyObj)->_setattr(STR_String(attr), value); }; virtual PyObject *_repr(void); // _repr method static PyObject *__repr(PyObject *PyObj) // This should be the entry in Type. diff --git a/source/gameengine/Expressions/Value.cpp b/source/gameengine/Expressions/Value.cpp index 58f07790f6a..55dd1f5c1dd 100644 --- a/source/gameengine/Expressions/Value.cpp +++ b/source/gameengine/Expressions/Value.cpp @@ -609,7 +609,7 @@ static PyMethodDef CValueMethods[] = }; -PyObject* CValue::_getattr(char* attr) +PyObject* CValue::_getattr(const STR_String& attr) { CValue* resultattr = FindIdentifier(attr); STR_String text; @@ -698,7 +698,7 @@ CValue* CValue::ConvertPythonToValue(PyObject* pyobj) return vallie; } -int CValue::_setattr(char* attr,PyObject* pyobj) +int CValue::_setattr(const STR_String& attr,PyObject* pyobj) { if (!pyobj) { // member deletion diff --git a/source/gameengine/Expressions/Value.h b/source/gameengine/Expressions/Value.h index 527dfa85d39..4656e2ca5ac 100644 --- a/source/gameengine/Expressions/Value.h +++ b/source/gameengine/Expressions/Value.h @@ -200,6 +200,20 @@ public: static char method_name##_doc[]; \ /* The line above should remain empty */ +/** + * Method table macro (with doc) + */ +#define KX_PYMETHODTABLE(class_name, method_name) \ + {#method_name , (PyCFunction) class_name::sPy##method_name, METH_VARARGS, class_name::method_name##_doc} + +/** + * Function implementation macro + */ +#define KX_PYMETHODDEF_DOC(class_name, method_name, doc_string) \ +char class_name::method_name##_doc[] = doc_string; \ +PyObject* class_name::Py##method_name(PyObject* self, PyObject* args, PyObject* kwds) + + #ifndef NO_EXP_PYTHON_EMBEDDING #include "PyObjectPlus.h" @@ -239,7 +253,7 @@ public: - PyObject* _getattr(char* attr); + virtual PyObject* _getattr(const STR_String& attr); void SpecialRelease() { @@ -266,7 +280,7 @@ public: virtual CValue* ConvertPythonToValue(PyObject* pyobj); - int _setattr(char* attr,PyObject* value); + virtual int _setattr(const STR_String& attr,PyObject* value); KX_PYMETHOD(CValue,GetName); diff --git a/source/gameengine/GameLogic/SCA_ANDController.cpp b/source/gameengine/GameLogic/SCA_ANDController.cpp index 4064bb6c840..0daba011c71 100644 --- a/source/gameengine/GameLogic/SCA_ANDController.cpp +++ b/source/gameengine/GameLogic/SCA_ANDController.cpp @@ -140,7 +140,7 @@ PyMethodDef SCA_ANDController::Methods[] = { {NULL,NULL} //Sentinel }; -PyObject* SCA_ANDController::_getattr(char* attr) { +PyObject* SCA_ANDController::_getattr(const STR_String& attr) { _getattr_up(SCA_IController); } diff --git a/source/gameengine/GameLogic/SCA_ANDController.h b/source/gameengine/GameLogic/SCA_ANDController.h index f3064e931f2..d32bfd2aa48 100644 --- a/source/gameengine/GameLogic/SCA_ANDController.h +++ b/source/gameengine/GameLogic/SCA_ANDController.h @@ -51,7 +51,7 @@ public: /* Python interface ---------------------------------------------------- */ /* --------------------------------------------------------------------- */ - virtual PyObject* _getattr(char *attr); + virtual PyObject* _getattr(const STR_String& attr); }; diff --git a/source/gameengine/GameLogic/SCA_AlwaysSensor.cpp b/source/gameengine/GameLogic/SCA_AlwaysSensor.cpp index 1ca8545b062..a0bb7311eb9 100644 --- a/source/gameengine/GameLogic/SCA_AlwaysSensor.cpp +++ b/source/gameengine/GameLogic/SCA_AlwaysSensor.cpp @@ -135,7 +135,7 @@ PyMethodDef SCA_AlwaysSensor::Methods[] = { {NULL,NULL} //Sentinel }; -PyObject* SCA_AlwaysSensor::_getattr(char* attr) { +PyObject* SCA_AlwaysSensor::_getattr(const STR_String& attr) { _getattr_up(SCA_ISensor); } diff --git a/source/gameengine/GameLogic/SCA_AlwaysSensor.h b/source/gameengine/GameLogic/SCA_AlwaysSensor.h index 03568bf1578..456516fa989 100644 --- a/source/gameengine/GameLogic/SCA_AlwaysSensor.h +++ b/source/gameengine/GameLogic/SCA_AlwaysSensor.h @@ -53,7 +53,7 @@ public: /* Python interface ---------------------------------------------------- */ /* --------------------------------------------------------------------- */ - virtual PyObject* _getattr(char *attr); + virtual PyObject* _getattr(const STR_String& attr); }; diff --git a/source/gameengine/GameLogic/SCA_ExpressionController.h b/source/gameengine/GameLogic/SCA_ExpressionController.h index a92f7e2e088..e77f2b9938b 100644 --- a/source/gameengine/GameLogic/SCA_ExpressionController.h +++ b/source/gameengine/GameLogic/SCA_ExpressionController.h @@ -56,7 +56,7 @@ public: /* Python interface ---------------------------------------------------- */ /* --------------------------------------------------------------------- */ -// virtual PyObject* _getattr(char *attr); +// virtual PyObject* _getattr(const STR_String& attr); }; diff --git a/source/gameengine/GameLogic/SCA_ILogicBrick.cpp b/source/gameengine/GameLogic/SCA_ILogicBrick.cpp index 38fc75d7ad9..422f6d9cf0d 100644 --- a/source/gameengine/GameLogic/SCA_ILogicBrick.cpp +++ b/source/gameengine/GameLogic/SCA_ILogicBrick.cpp @@ -254,7 +254,7 @@ PyMethodDef SCA_ILogicBrick::Methods[] = { PyObject* -SCA_ILogicBrick::_getattr(char* attr) +SCA_ILogicBrick::_getattr(const STR_String& attr) { _getattr_up(CValue); } diff --git a/source/gameengine/GameLogic/SCA_ILogicBrick.h b/source/gameengine/GameLogic/SCA_ILogicBrick.h index 04d4da7c8ce..5199f66f409 100644 --- a/source/gameengine/GameLogic/SCA_ILogicBrick.h +++ b/source/gameengine/GameLogic/SCA_ILogicBrick.h @@ -78,7 +78,7 @@ public: virtual bool LessComparedTo(SCA_ILogicBrick* other); - virtual PyObject* _getattr(char *attr); + virtual PyObject* _getattr(const STR_String& attr); static class SCA_LogicManager* m_sCurrentLogicManager; diff --git a/source/gameengine/GameLogic/SCA_IObject.cpp b/source/gameengine/GameLogic/SCA_IObject.cpp index 47a81f35896..bd356f07cb9 100644 --- a/source/gameengine/GameLogic/SCA_IObject.cpp +++ b/source/gameengine/GameLogic/SCA_IObject.cpp @@ -360,7 +360,7 @@ PyMethodDef SCA_IObject::Methods[] = { -PyObject* SCA_IObject::_getattr(char* attr) { +PyObject* SCA_IObject::_getattr(const STR_String& attr) { _getattr_up(CValue); } diff --git a/source/gameengine/GameLogic/SCA_IObject.h b/source/gameengine/GameLogic/SCA_IObject.h index f1409871de8..b1bb013abea 100644 --- a/source/gameengine/GameLogic/SCA_IObject.h +++ b/source/gameengine/GameLogic/SCA_IObject.h @@ -114,7 +114,7 @@ public: const class MT_Point3& ConvertPythonVectorArg(PyObject* args); // here come the python forwarded methods - PyObject* _getattr(char* attr); + virtual PyObject* _getattr(const STR_String& attr); }; diff --git a/source/gameengine/GameLogic/SCA_ISensor.cpp b/source/gameengine/GameLogic/SCA_ISensor.cpp index 613a44b09f3..43dd6bef83e 100644 --- a/source/gameengine/GameLogic/SCA_ISensor.cpp +++ b/source/gameengine/GameLogic/SCA_ISensor.cpp @@ -165,7 +165,7 @@ PyMethodDef SCA_ISensor::Methods[] = { PyObject* -SCA_ISensor::_getattr(char* attr) +SCA_ISensor::_getattr(const STR_String& attr) { _getattr_up(SCA_ILogicBrick); } diff --git a/source/gameengine/GameLogic/SCA_ISensor.h b/source/gameengine/GameLogic/SCA_ISensor.h index c0804cc757e..fb2dca97d06 100644 --- a/source/gameengine/GameLogic/SCA_ISensor.h +++ b/source/gameengine/GameLogic/SCA_ISensor.h @@ -46,7 +46,7 @@ class SCA_ISensor : public SCA_ILogicBrick class SCA_EventManager* m_eventmgr; bool m_triggered; - /* Pulse positive pulses? */ + /** Pulse positive pulses? */ bool m_pos_pulsemode; /** Pulse negative pulses? */ @@ -61,7 +61,7 @@ class SCA_ISensor : public SCA_ILogicBrick /** Number of ticks since the last negative pulse. */ int m_neg_ticks; - /* invert the output signal*/ + /** invert the output signal*/ bool m_invert; /** Sensor must ignore updates? */ @@ -77,7 +77,7 @@ public: ~SCA_ISensor(); virtual void ReParent(SCA_IObject* parent); - /* Because we want sensors to share some behaviour, the Activate has */ + /** Because we want sensors to share some behaviour, the Activate has */ /* an implementation on this level. It requires an evaluate on the lower */ /* level of individual sensors. Mapping the old activate()s is easy. */ /* The IsPosTrig() also has to change, to keep things consistent. */ @@ -85,7 +85,7 @@ public: virtual bool Evaluate(CValue* event) = 0; virtual bool IsPositiveTrigger(); - virtual PyObject* _getattr(char *attr); + virtual PyObject* _getattr(const STR_String& attr); virtual CValue* GetReplica()=0; /** Set parameters for the pulsing behaviour. diff --git a/source/gameengine/GameLogic/SCA_KeyboardSensor.cpp b/source/gameengine/GameLogic/SCA_KeyboardSensor.cpp index d31e2ae9200..1eee83ad3d6 100644 --- a/source/gameengine/GameLogic/SCA_KeyboardSensor.cpp +++ b/source/gameengine/GameLogic/SCA_KeyboardSensor.cpp @@ -670,7 +670,7 @@ PyMethodDef SCA_KeyboardSensor::Methods[] = { }; PyObject* -SCA_KeyboardSensor::_getattr(char* attr) +SCA_KeyboardSensor::_getattr(const STR_String& attr) { _getattr_up(SCA_ISensor); } diff --git a/source/gameengine/GameLogic/SCA_KeyboardSensor.h b/source/gameengine/GameLogic/SCA_KeyboardSensor.h index 2badc799206..f4a3d7e47b5 100644 --- a/source/gameengine/GameLogic/SCA_KeyboardSensor.h +++ b/source/gameengine/GameLogic/SCA_KeyboardSensor.h @@ -127,7 +127,7 @@ public: /* Python interface ---------------------------------------------------- */ /* --------------------------------------------------------------------- */ - virtual PyObject* _getattr(char *attr); + virtual PyObject* _getattr(const STR_String& attr); PyObject* PySetAllMode(PyObject* self, diff --git a/source/gameengine/GameLogic/SCA_MouseSensor.cpp b/source/gameengine/GameLogic/SCA_MouseSensor.cpp index 08cf68ba332..fda641cfc96 100644 --- a/source/gameengine/GameLogic/SCA_MouseSensor.cpp +++ b/source/gameengine/GameLogic/SCA_MouseSensor.cpp @@ -254,7 +254,7 @@ PyMethodDef SCA_MouseSensor::Methods[] = { {NULL,NULL} //Sentinel }; -PyObject* SCA_MouseSensor::_getattr(char* attr) { +PyObject* SCA_MouseSensor::_getattr(const STR_String& attr) { _getattr_up(SCA_ISensor); } diff --git a/source/gameengine/GameLogic/SCA_MouseSensor.h b/source/gameengine/GameLogic/SCA_MouseSensor.h index 9b8043a1f15..e8a0d0db78b 100644 --- a/source/gameengine/GameLogic/SCA_MouseSensor.h +++ b/source/gameengine/GameLogic/SCA_MouseSensor.h @@ -110,7 +110,7 @@ class SCA_MouseSensor : public SCA_ISensor /* Python interface ---------------------------------------------------- */ /* --------------------------------------------------------------------- */ - virtual PyObject* _getattr(char *attr); + virtual PyObject* _getattr(const STR_String& attr); /* read x-coordinate */ KX_PYMETHOD_DOC(SCA_MouseSensor,GetXPosition); diff --git a/source/gameengine/GameLogic/SCA_ORController.cpp b/source/gameengine/GameLogic/SCA_ORController.cpp index 773b66be637..29f62b4e6a7 100644 --- a/source/gameengine/GameLogic/SCA_ORController.cpp +++ b/source/gameengine/GameLogic/SCA_ORController.cpp @@ -132,7 +132,7 @@ PyMethodDef SCA_ORController::Methods[] = { {NULL,NULL} //Sentinel }; -PyObject* SCA_ORController::_getattr(char* attr) { +PyObject* SCA_ORController::_getattr(const STR_String& attr) { _getattr_up(SCA_IController); } diff --git a/source/gameengine/GameLogic/SCA_ORController.h b/source/gameengine/GameLogic/SCA_ORController.h index e88beb22492..d8b844d9063 100644 --- a/source/gameengine/GameLogic/SCA_ORController.h +++ b/source/gameengine/GameLogic/SCA_ORController.h @@ -52,7 +52,7 @@ public: /* Python interface ---------------------------------------------------- */ /* --------------------------------------------------------------------- */ - virtual PyObject* _getattr(char *attr); + virtual PyObject* _getattr(const STR_String& attr); }; #endif //__KX_ORCONTROLLER diff --git a/source/gameengine/GameLogic/SCA_PropertyActuator.cpp b/source/gameengine/GameLogic/SCA_PropertyActuator.cpp index e4820e00f70..c416d8e1dd5 100644 --- a/source/gameengine/GameLogic/SCA_PropertyActuator.cpp +++ b/source/gameengine/GameLogic/SCA_PropertyActuator.cpp @@ -219,7 +219,7 @@ PyMethodDef SCA_PropertyActuator::Methods[] = { {NULL,NULL} //Sentinel }; -PyObject* SCA_PropertyActuator::_getattr(char* attr) { +PyObject* SCA_PropertyActuator::_getattr(const STR_String& attr) { _getattr_up(SCA_IActuator); } diff --git a/source/gameengine/GameLogic/SCA_PropertyActuator.h b/source/gameengine/GameLogic/SCA_PropertyActuator.h index 5f7fcf9e87f..2fdf1a62559 100644 --- a/source/gameengine/GameLogic/SCA_PropertyActuator.h +++ b/source/gameengine/GameLogic/SCA_PropertyActuator.h @@ -102,7 +102,7 @@ public: /* Python interface ---------------------------------------------------- */ /* --------------------------------------------------------------------- */ - PyObject* _getattr(char *attr); + virtual PyObject* _getattr(const STR_String& attr); // python wrapped methods KX_PYMETHOD_DOC(SCA_PropertyActuator,SetProperty); diff --git a/source/gameengine/GameLogic/SCA_PropertySensor.cpp b/source/gameengine/GameLogic/SCA_PropertySensor.cpp index 448de107381..6f98b777d8c 100644 --- a/source/gameengine/GameLogic/SCA_PropertySensor.cpp +++ b/source/gameengine/GameLogic/SCA_PropertySensor.cpp @@ -318,7 +318,7 @@ PyMethodDef SCA_PropertySensor::Methods[] = { {NULL,NULL} //Sentinel }; -PyObject* SCA_PropertySensor::_getattr(char* attr) { +PyObject* SCA_PropertySensor::_getattr(const STR_String& attr) { _getattr_up(SCA_ISensor); /* implicit return! */ } diff --git a/source/gameengine/GameLogic/SCA_PropertySensor.h b/source/gameengine/GameLogic/SCA_PropertySensor.h index 37f4138c6fc..0ebcacdb21a 100644 --- a/source/gameengine/GameLogic/SCA_PropertySensor.h +++ b/source/gameengine/GameLogic/SCA_PropertySensor.h @@ -90,7 +90,7 @@ public: /* Python interface ---------------------------------------------------- */ /* --------------------------------------------------------------------- */ - virtual PyObject* _getattr(char *attr); + virtual PyObject* _getattr(const STR_String& attr); /* 1. getType */ KX_PYMETHOD_DOC(SCA_PropertySensor,GetType); diff --git a/source/gameengine/GameLogic/SCA_PythonController.cpp b/source/gameengine/GameLogic/SCA_PythonController.cpp index a96e17e67d2..e21916e060e 100644 --- a/source/gameengine/GameLogic/SCA_PythonController.cpp +++ b/source/gameengine/GameLogic/SCA_PythonController.cpp @@ -274,7 +274,7 @@ void SCA_PythonController::Trigger(SCA_LogicManager* logicmgr) -PyObject* SCA_PythonController::_getattr(char* attr) +PyObject* SCA_PythonController::_getattr(const STR_String& attr) { _getattr_up(SCA_IController); } diff --git a/source/gameengine/GameLogic/SCA_PythonController.h b/source/gameengine/GameLogic/SCA_PythonController.h index f19fcac72f3..574bf35be7e 100644 --- a/source/gameengine/GameLogic/SCA_PythonController.h +++ b/source/gameengine/GameLogic/SCA_PythonController.h @@ -72,7 +72,7 @@ class SCA_PythonController : public SCA_IController static PyObject* sPyAddActiveActuator(PyObject* self, PyObject* args, PyObject* kwds); - virtual PyObject* _getattr(char *attr); + virtual PyObject* _getattr(const STR_String& attr); KX_PYMETHOD_DOC(SCA_PythonController,GetSensors); KX_PYMETHOD_DOC(SCA_PythonController,GetSensor); diff --git a/source/gameengine/GameLogic/SCA_RandomActuator.cpp b/source/gameengine/GameLogic/SCA_RandomActuator.cpp index 4347e5cef67..4bc0e2539f0 100644 --- a/source/gameengine/GameLogic/SCA_RandomActuator.cpp +++ b/source/gameengine/GameLogic/SCA_RandomActuator.cpp @@ -360,7 +360,7 @@ PyMethodDef SCA_RandomActuator::Methods[] = { {NULL,NULL} //Sentinel }; -PyObject* SCA_RandomActuator::_getattr(char* attr) { +PyObject* SCA_RandomActuator::_getattr(const STR_String& attr) { _getattr_up(SCA_IActuator); } diff --git a/source/gameengine/GameLogic/SCA_RandomActuator.h b/source/gameengine/GameLogic/SCA_RandomActuator.h index 9045dad078c..1048790c9b6 100644 --- a/source/gameengine/GameLogic/SCA_RandomActuator.h +++ b/source/gameengine/GameLogic/SCA_RandomActuator.h @@ -99,7 +99,7 @@ class SCA_RandomActuator : public SCA_IActuator /* Python interface ---------------------------------------------------- */ /* --------------------------------------------------------------------- */ - virtual PyObject* _getattr(char *attr); + virtual PyObject* _getattr(const STR_String& attr); /* 1. setSeed */ KX_PYMETHOD_DOC(SCA_RandomActuator,SetSeed); diff --git a/source/gameengine/GameLogic/SCA_RandomSensor.cpp b/source/gameengine/GameLogic/SCA_RandomSensor.cpp index 12f3e0bf5ed..f747504a697 100644 --- a/source/gameengine/GameLogic/SCA_RandomSensor.cpp +++ b/source/gameengine/GameLogic/SCA_RandomSensor.cpp @@ -153,7 +153,7 @@ PyMethodDef SCA_RandomSensor::Methods[] = { {NULL,NULL} //Sentinel }; -PyObject* SCA_RandomSensor::_getattr(char* attr) { +PyObject* SCA_RandomSensor::_getattr(const STR_String& attr) { _getattr_up(SCA_ISensor); } diff --git a/source/gameengine/GameLogic/SCA_RandomSensor.h b/source/gameengine/GameLogic/SCA_RandomSensor.h index 41f7f453556..1a3c0402e31 100644 --- a/source/gameengine/GameLogic/SCA_RandomSensor.h +++ b/source/gameengine/GameLogic/SCA_RandomSensor.h @@ -61,7 +61,7 @@ public: /* Python interface ---------------------------------------------------- */ /* --------------------------------------------------------------------- */ - virtual PyObject* _getattr(char *attr); + virtual PyObject* _getattr(const STR_String& attr); /* 1. setSeed */ KX_PYMETHOD_DOC(SCA_RandomSensor,SetSeed); diff --git a/source/gameengine/Ketsji/KXNetwork/KX_NetworkMessageActuator.cpp b/source/gameengine/Ketsji/KXNetwork/KX_NetworkMessageActuator.cpp index aed6b6a97a1..23bc35fdeac 100644 --- a/source/gameengine/Ketsji/KXNetwork/KX_NetworkMessageActuator.cpp +++ b/source/gameengine/Ketsji/KXNetwork/KX_NetworkMessageActuator.cpp @@ -146,7 +146,7 @@ PyMethodDef KX_NetworkMessageActuator::Methods[] = { {NULL,NULL} // Sentinel }; -PyObject* KX_NetworkMessageActuator::_getattr(char* attr) { +PyObject* KX_NetworkMessageActuator::_getattr(const STR_String& attr) { _getattr_up(SCA_IActuator); } diff --git a/source/gameengine/Ketsji/KXNetwork/KX_NetworkMessageActuator.h b/source/gameengine/Ketsji/KXNetwork/KX_NetworkMessageActuator.h index 7797a6139a0..cec3b27c4a6 100644 --- a/source/gameengine/Ketsji/KXNetwork/KX_NetworkMessageActuator.h +++ b/source/gameengine/Ketsji/KXNetwork/KX_NetworkMessageActuator.h @@ -64,7 +64,7 @@ public: /* Python interface ------------------------------------------- */ /* ------------------------------------------------------------ */ - virtual PyObject* _getattr(char *attr); + virtual PyObject* _getattr(const STR_String& attr); KX_PYMETHOD(KX_NetworkMessageActuator, SetToPropName); KX_PYMETHOD(KX_NetworkMessageActuator, SetSubject); diff --git a/source/gameengine/Ketsji/KXNetwork/KX_NetworkMessageSensor.cpp b/source/gameengine/Ketsji/KXNetwork/KX_NetworkMessageSensor.cpp index ab5f9b989a7..b44269faa9a 100644 --- a/source/gameengine/Ketsji/KXNetwork/KX_NetworkMessageSensor.cpp +++ b/source/gameengine/Ketsji/KXNetwork/KX_NetworkMessageSensor.cpp @@ -203,7 +203,7 @@ PyMethodDef KX_NetworkMessageSensor::Methods[] = { {NULL,NULL} //Sentinel }; -PyObject* KX_NetworkMessageSensor::_getattr(char* attr) { +PyObject* KX_NetworkMessageSensor::_getattr(const STR_String& attr) { _getattr_up(SCA_ISensor); // implicit return! } diff --git a/source/gameengine/Ketsji/KXNetwork/KX_NetworkMessageSensor.h b/source/gameengine/Ketsji/KXNetwork/KX_NetworkMessageSensor.h index f2b8b306d9d..82f83787645 100644 --- a/source/gameengine/Ketsji/KXNetwork/KX_NetworkMessageSensor.h +++ b/source/gameengine/Ketsji/KXNetwork/KX_NetworkMessageSensor.h @@ -74,7 +74,7 @@ public: /* Python interface -------------------------------------------- */ /* ------------------------------------------------------------- */ - virtual PyObject* _getattr(char *attr); + virtual PyObject* _getattr(const STR_String& attr); KX_PYMETHOD_DOC(KX_NetworkMessageSensor, SetSubjectFilterText); KX_PYMETHOD_DOC(KX_NetworkMessageSensor, GetFrameMessageCount); diff --git a/source/gameengine/Ketsji/KX_CDActuator.cpp b/source/gameengine/Ketsji/KX_CDActuator.cpp index b422585957e..efa7fb73ba5 100644 --- a/source/gameengine/Ketsji/KX_CDActuator.cpp +++ b/source/gameengine/Ketsji/KX_CDActuator.cpp @@ -202,7 +202,7 @@ PyMethodDef KX_CDActuator::Methods[] = { -PyObject* KX_CDActuator::_getattr(char* attr) +PyObject* KX_CDActuator::_getattr(const STR_String& attr) { _getattr_up(SCA_IActuator); } diff --git a/source/gameengine/Ketsji/KX_CDActuator.h b/source/gameengine/Ketsji/KX_CDActuator.h index 1cf188e952c..3e76db56264 100644 --- a/source/gameengine/Ketsji/KX_CDActuator.h +++ b/source/gameengine/Ketsji/KX_CDActuator.h @@ -84,7 +84,7 @@ public: /* Python interface --------------------------------------------------- */ /* -------------------------------------------------------------------- */ - PyObject* _getattr(char *attr); + virtual PyObject* _getattr(const STR_String& attr); KX_PYMETHOD(KX_CDActuator,StartCD); KX_PYMETHOD(KX_CDActuator,PauseCD); diff --git a/source/gameengine/Ketsji/KX_CameraActuator.cpp b/source/gameengine/Ketsji/KX_CameraActuator.cpp index f1286de1bd4..478bf388fb1 100644 --- a/source/gameengine/Ketsji/KX_CameraActuator.cpp +++ b/source/gameengine/Ketsji/KX_CameraActuator.cpp @@ -362,7 +362,7 @@ PyMethodDef KX_CameraActuator::Methods[] = { {NULL,NULL,NULL,NULL} //Sentinel }; -PyObject* KX_CameraActuator::_getattr(char* attr) { +PyObject* KX_CameraActuator::_getattr(const STR_String& attr) { _getattr_up(SCA_IActuator); } diff --git a/source/gameengine/Ketsji/KX_CameraActuator.h b/source/gameengine/Ketsji/KX_CameraActuator.h index bb3bcf52323..21d4af64135 100644 --- a/source/gameengine/Ketsji/KX_CameraActuator.h +++ b/source/gameengine/Ketsji/KX_CameraActuator.h @@ -119,7 +119,7 @@ private : /* Python interface ---------------------------------------------------- */ /* --------------------------------------------------------------------- */ - virtual PyObject* _getattr(char *attr); + virtual PyObject* _getattr(const STR_String& attr); diff --git a/source/gameengine/Ketsji/KX_ConstraintActuator.cpp b/source/gameengine/Ketsji/KX_ConstraintActuator.cpp index e91c82cc811..b60841e8634 100644 --- a/source/gameengine/Ketsji/KX_ConstraintActuator.cpp +++ b/source/gameengine/Ketsji/KX_ConstraintActuator.cpp @@ -223,7 +223,7 @@ PyMethodDef KX_ConstraintActuator::Methods[] = { {NULL,NULL} //Sentinel }; -PyObject* KX_ConstraintActuator::_getattr(char* attr) { +PyObject* KX_ConstraintActuator::_getattr(const STR_String& attr) { _getattr_up(SCA_IActuator); } diff --git a/source/gameengine/Ketsji/KX_ConstraintActuator.h b/source/gameengine/Ketsji/KX_ConstraintActuator.h index 07befb3551d..800a1ae10fb 100644 --- a/source/gameengine/Ketsji/KX_ConstraintActuator.h +++ b/source/gameengine/Ketsji/KX_ConstraintActuator.h @@ -93,7 +93,7 @@ class KX_ConstraintActuator : public SCA_IActuator /* Python interface ---------------------------------------------------- */ /* --------------------------------------------------------------------- */ - virtual PyObject* _getattr(char *attr); + virtual PyObject* _getattr(const STR_String& attr); KX_PYMETHOD_DOC(KX_ConstraintActuator,SetDamp); KX_PYMETHOD_DOC(KX_ConstraintActuator,GetDamp); diff --git a/source/gameengine/Ketsji/KX_ConstraintWrapper.cpp b/source/gameengine/Ketsji/KX_ConstraintWrapper.cpp index e42ae59e2bb..9ca9517c035 100644 --- a/source/gameengine/Ketsji/KX_ConstraintWrapper.cpp +++ b/source/gameengine/Ketsji/KX_ConstraintWrapper.cpp @@ -95,13 +95,13 @@ PyParentObject KX_ConstraintWrapper::Parents[] = { NULL }; -PyObject* KX_ConstraintWrapper::_getattr(char* attr) +PyObject* KX_ConstraintWrapper::_getattr(const STR_String& attr) { //here you can search for existing data members (like mass,friction etc.) _getattr_up(PyObjectPlus); } -int KX_ConstraintWrapper::_setattr(char* attr,PyObject* pyobj) +int KX_ConstraintWrapper::_setattr(const STR_String& attr,PyObject* pyobj) { PyTypeObject* type = pyobj->ob_type; diff --git a/source/gameengine/Ketsji/KX_ConstraintWrapper.h b/source/gameengine/Ketsji/KX_ConstraintWrapper.h index 9f4bb78bdc4..12fd7fbe292 100644 --- a/source/gameengine/Ketsji/KX_ConstraintWrapper.h +++ b/source/gameengine/Ketsji/KX_ConstraintWrapper.h @@ -38,8 +38,8 @@ class KX_ConstraintWrapper : public PyObjectPlus { Py_Header; - PyObject* _getattr(char* attr); - virtual int _setattr(char *attr, PyObject *value); + virtual PyObject* _getattr(const STR_String& attr); + virtual int _setattr(const STR_String& attr, PyObject *value); public: KX_ConstraintWrapper(PHY_ConstraintType ctype,int constraintId,class PHY_IPhysicsEnvironment* physenv,PyTypeObject *T = &Type); virtual ~KX_ConstraintWrapper (); diff --git a/source/gameengine/Ketsji/KX_GameActuator.cpp b/source/gameengine/Ketsji/KX_GameActuator.cpp index dcdb9b00087..2cd7e4db518 100644 --- a/source/gameengine/Ketsji/KX_GameActuator.cpp +++ b/source/gameengine/Ketsji/KX_GameActuator.cpp @@ -213,7 +213,7 @@ PyObject* KX_GameActuator::PySetFile(PyObject* self, PyObject* args, PyObject* k -PyObject* KX_GameActuator::_getattr(char* attr) +PyObject* KX_GameActuator::_getattr(const STR_String& attr) { _getattr_up(SCA_IActuator); } diff --git a/source/gameengine/Ketsji/KX_GameActuator.h b/source/gameengine/Ketsji/KX_GameActuator.h index 4f197cf5841..b3acd3b7400 100644 --- a/source/gameengine/Ketsji/KX_GameActuator.h +++ b/source/gameengine/Ketsji/KX_GameActuator.h @@ -77,7 +77,7 @@ class KX_GameActuator : public SCA_IActuator /* Python interface ---------------------------------------------------- */ /* --------------------------------------------------------------------- */ - virtual PyObject* _getattr(char *attr); + virtual PyObject* _getattr(const STR_String& attr); KX_PYMETHOD_DOC(KX_GameActuator,GetFile); KX_PYMETHOD_DOC(KX_GameActuator,SetFile); diff --git a/source/gameengine/Ketsji/KX_GameObject.cpp b/source/gameengine/Ketsji/KX_GameObject.cpp index 91ff9e62459..c20f874fcc9 100644 --- a/source/gameengine/Ketsji/KX_GameObject.cpp +++ b/source/gameengine/Ketsji/KX_GameObject.cpp @@ -700,7 +700,7 @@ PyParentObject KX_GameObject::Parents[] = { -PyObject* KX_GameObject::_getattr(char* attr) +PyObject* KX_GameObject::_getattr(const STR_String& attr) { _getattr_up(SCA_IObject); } diff --git a/source/gameengine/Ketsji/KX_IpoActuator.cpp b/source/gameengine/Ketsji/KX_IpoActuator.cpp index 92333329f9e..6d2b8dc49eb 100644 --- a/source/gameengine/Ketsji/KX_IpoActuator.cpp +++ b/source/gameengine/Ketsji/KX_IpoActuator.cpp @@ -431,7 +431,7 @@ PyMethodDef KX_IpoActuator::Methods[] = { {NULL,NULL} //Sentinel }; -PyObject* KX_IpoActuator::_getattr(char* attr) { +PyObject* KX_IpoActuator::_getattr(const STR_String& attr) { _getattr_up(SCA_IActuator); } diff --git a/source/gameengine/Ketsji/KX_IpoActuator.h b/source/gameengine/Ketsji/KX_IpoActuator.h index e5cd1b943a8..49c06a74ece 100644 --- a/source/gameengine/Ketsji/KX_IpoActuator.h +++ b/source/gameengine/Ketsji/KX_IpoActuator.h @@ -120,7 +120,7 @@ public: /* Python interface ---------------------------------------------------- */ /* --------------------------------------------------------------------- */ - virtual PyObject* _getattr(char *attr); + virtual PyObject* _getattr(const STR_String& attr); //KX_PYMETHOD_DOC KX_PYMETHOD_DOC(KX_IpoActuator,Set); KX_PYMETHOD_DOC(KX_IpoActuator,SetProperty); diff --git a/source/gameengine/Ketsji/KX_MeshProxy.cpp b/source/gameengine/Ketsji/KX_MeshProxy.cpp index 4b5580ed438..4cde3ea9025 100644 --- a/source/gameengine/Ketsji/KX_MeshProxy.cpp +++ b/source/gameengine/Ketsji/KX_MeshProxy.cpp @@ -76,7 +76,7 @@ PyMethodDef KX_MeshProxy::Methods[] = { }; PyObject* -KX_MeshProxy::_getattr(char* attr) +KX_MeshProxy::_getattr(const STR_String& attr) { _getattr_up(SCA_IObject); } diff --git a/source/gameengine/Ketsji/KX_MeshProxy.h b/source/gameengine/Ketsji/KX_MeshProxy.h index 63feb220f67..d40f8b514d2 100644 --- a/source/gameengine/Ketsji/KX_MeshProxy.h +++ b/source/gameengine/Ketsji/KX_MeshProxy.h @@ -54,7 +54,7 @@ public: virtual CValue* GetReplica(); // stuff for python integration - virtual PyObject* _getattr(char *attr); + virtual PyObject* _getattr(const STR_String& attr); KX_PYMETHOD(KX_MeshProxy,GetNumMaterials); KX_PYMETHOD(KX_MeshProxy,GetMaterialName); KX_PYMETHOD(KX_MeshProxy,GetTextureName); diff --git a/source/gameengine/Ketsji/KX_MouseFocusSensor.cpp b/source/gameengine/Ketsji/KX_MouseFocusSensor.cpp index 3d6264674bc..fc89bf5e042 100644 --- a/source/gameengine/Ketsji/KX_MouseFocusSensor.cpp +++ b/source/gameengine/Ketsji/KX_MouseFocusSensor.cpp @@ -357,7 +357,7 @@ PyMethodDef KX_MouseFocusSensor::Methods[] = { {NULL,NULL} //Sentinel }; -PyObject* KX_MouseFocusSensor::_getattr(char* attr) { +PyObject* KX_MouseFocusSensor::_getattr(const STR_String& attr) { _getattr_up(SCA_MouseSensor); } diff --git a/source/gameengine/Ketsji/KX_MouseFocusSensor.h b/source/gameengine/Ketsji/KX_MouseFocusSensor.h index 06a38434914..61571e190ec 100644 --- a/source/gameengine/Ketsji/KX_MouseFocusSensor.h +++ b/source/gameengine/Ketsji/KX_MouseFocusSensor.h @@ -82,7 +82,7 @@ class KX_MouseFocusSensor : public SCA_MouseSensor /* --------------------------------------------------------------------- */ /* Python interface ---------------------------------------------------- */ /* --------------------------------------------------------------------- */ - virtual PyObject* _getattr(char *attr); + virtual PyObject* _getattr(const STR_String& attr); KX_PYMETHOD_DOC(KX_MouseFocusSensor,GetRayTarget); KX_PYMETHOD_DOC(KX_MouseFocusSensor,GetRaySource); diff --git a/source/gameengine/Ketsji/KX_NearSensor.cpp b/source/gameengine/Ketsji/KX_NearSensor.cpp index 880d0d61c16..3c6a5b9ba5e 100644 --- a/source/gameengine/Ketsji/KX_NearSensor.cpp +++ b/source/gameengine/Ketsji/KX_NearSensor.cpp @@ -266,7 +266,7 @@ PyMethodDef KX_NearSensor::Methods[] = { PyObject* -KX_NearSensor::_getattr(char* attr) +KX_NearSensor::_getattr(const STR_String& attr) { _getattr_up(KX_TouchSensor); } diff --git a/source/gameengine/Ketsji/KX_NearSensor.h b/source/gameengine/Ketsji/KX_NearSensor.h index 335edbb97ca..d1126510728 100644 --- a/source/gameengine/Ketsji/KX_NearSensor.h +++ b/source/gameengine/Ketsji/KX_NearSensor.h @@ -77,7 +77,7 @@ public: const DT_CollData * coll_data); virtual void RegisterSumo(KX_TouchEventManager *touchman); - virtual PyObject* _getattr(char *attr); + virtual PyObject* _getattr(const STR_String& attr); }; diff --git a/source/gameengine/Ketsji/KX_ObjectActuator.cpp b/source/gameengine/Ketsji/KX_ObjectActuator.cpp index 1f4e61f8139..04385859994 100644 --- a/source/gameengine/Ketsji/KX_ObjectActuator.cpp +++ b/source/gameengine/Ketsji/KX_ObjectActuator.cpp @@ -89,10 +89,8 @@ bool KX_ObjectActuator::Update(double curtime,double deltatime) (m_bitLocalFlag.AngularVelocity) != 0 ); m_active_combined_velocity = false; - return false; - } else { - return false; - } + } + return false; } else if (parent) @@ -209,7 +207,7 @@ PyMethodDef KX_ObjectActuator::Methods[] = { {NULL,NULL} //Sentinel }; -PyObject* KX_ObjectActuator::_getattr(char* attr) { +PyObject* KX_ObjectActuator::_getattr(const STR_String& attr) { _getattr_up(SCA_IActuator); }; diff --git a/source/gameengine/Ketsji/KX_ObjectActuator.h b/source/gameengine/Ketsji/KX_ObjectActuator.h index f398f68b6c3..92365eba3ca 100644 --- a/source/gameengine/Ketsji/KX_ObjectActuator.h +++ b/source/gameengine/Ketsji/KX_ObjectActuator.h @@ -121,7 +121,7 @@ public: /* Python interface ---------------------------------------------------- */ /* --------------------------------------------------------------------- */ - virtual PyObject* _getattr(char *attr); + virtual PyObject* _getattr(const STR_String& attr); KX_PYMETHOD(KX_ObjectActuator,GetForce); KX_PYMETHOD(KX_ObjectActuator,SetForce); diff --git a/source/gameengine/Ketsji/KX_PhysicsObjectWrapper.cpp b/source/gameengine/Ketsji/KX_PhysicsObjectWrapper.cpp index d692af82b7a..1bd5a0b3d42 100644 --- a/source/gameengine/Ketsji/KX_PhysicsObjectWrapper.cpp +++ b/source/gameengine/Ketsji/KX_PhysicsObjectWrapper.cpp @@ -131,15 +131,14 @@ PyParentObject KX_PhysicsObjectWrapper::Parents[] = { NULL }; -PyObject* KX_PhysicsObjectWrapper::_getattr(char* attr) +PyObject* KX_PhysicsObjectWrapper::_getattr(const STR_String& attr) { _getattr_up(PyObjectPlus); } -int KX_PhysicsObjectWrapper::_setattr(char* attr,PyObject* pyobj) +int KX_PhysicsObjectWrapper::_setattr(const STR_String& attr,PyObject* pyobj) { - PyTypeObject* type = pyobj->ob_type; int result = 1; @@ -154,6 +153,7 @@ int KX_PhysicsObjectWrapper::_setattr(char* attr,PyObject* pyobj) } if (result) result = PyObjectPlus::_setattr(attr,pyobj); + return result; }; diff --git a/source/gameengine/Ketsji/KX_PhysicsObjectWrapper.h b/source/gameengine/Ketsji/KX_PhysicsObjectWrapper.h index e1a8d20b1a1..3de94795b16 100644 --- a/source/gameengine/Ketsji/KX_PhysicsObjectWrapper.h +++ b/source/gameengine/Ketsji/KX_PhysicsObjectWrapper.h @@ -39,8 +39,8 @@ class KX_PhysicsObjectWrapper : public PyObjectPlus { Py_Header; - PyObject* _getattr(char* attr); - virtual int _setattr(char *attr, PyObject *value); + virtual PyObject* _getattr(const STR_String& attr); + virtual int _setattr(const STR_String& attr, PyObject *value); public: KX_PhysicsObjectWrapper(class PHY_IPhysicsController* ctrl,class PHY_IPhysicsEnvironment* physenv,PyTypeObject *T = &Type); virtual ~KX_PhysicsObjectWrapper(); diff --git a/source/gameengine/Ketsji/KX_RadarSensor.cpp b/source/gameengine/Ketsji/KX_RadarSensor.cpp index 923a38cb7cc..d167349789c 100644 --- a/source/gameengine/Ketsji/KX_RadarSensor.cpp +++ b/source/gameengine/Ketsji/KX_RadarSensor.cpp @@ -171,7 +171,7 @@ PyMethodDef KX_RadarSensor::Methods[] = { {NULL,NULL,NULL,NULL} //Sentinel }; -PyObject* KX_RadarSensor::_getattr(char* attr) { +PyObject* KX_RadarSensor::_getattr(const STR_String& attr) { _getattr_up(KX_TouchSensor); } diff --git a/source/gameengine/Ketsji/KX_RadarSensor.h b/source/gameengine/Ketsji/KX_RadarSensor.h index 03364ae9c29..055041f749c 100644 --- a/source/gameengine/Ketsji/KX_RadarSensor.h +++ b/source/gameengine/Ketsji/KX_RadarSensor.h @@ -82,7 +82,7 @@ public: /* Python interface ---------------------------------------------------- */ /* --------------------------------------------------------------------- */ - virtual PyObject* _getattr(char *attr); + virtual PyObject* _getattr(const STR_String& attr); KX_PYMETHOD_DOC(KX_RadarSensor,GetConeOrigin); KX_PYMETHOD_DOC(KX_RadarSensor,GetConeTarget); diff --git a/source/gameengine/Ketsji/KX_RaySensor.cpp b/source/gameengine/Ketsji/KX_RaySensor.cpp index 3db65783661..3832d95f059 100644 --- a/source/gameengine/Ketsji/KX_RaySensor.cpp +++ b/source/gameengine/Ketsji/KX_RaySensor.cpp @@ -414,6 +414,6 @@ PyObject* KX_RaySensor::PyGetHitNormal(PyObject* self, -PyObject* KX_RaySensor::_getattr(char* attr) { +PyObject* KX_RaySensor::_getattr(const STR_String& attr) { _getattr_up(SCA_ISensor); } diff --git a/source/gameengine/Ketsji/KX_RaySensor.h b/source/gameengine/Ketsji/KX_RaySensor.h index 528f52f27a7..8d361f53d3e 100644 --- a/source/gameengine/Ketsji/KX_RaySensor.h +++ b/source/gameengine/Ketsji/KX_RaySensor.h @@ -73,7 +73,7 @@ public: KX_PYMETHOD_DOC(KX_RaySensor,GetHitNormal); KX_PYMETHOD_DOC(KX_RaySensor,GetRayDirection); - virtual PyObject* _getattr(char *attr); + virtual PyObject* _getattr(const STR_String& attr); }; diff --git a/source/gameengine/Ketsji/KX_SCA_AddObjectActuator.cpp b/source/gameengine/Ketsji/KX_SCA_AddObjectActuator.cpp index 666d4474130..37d772b9674 100644 --- a/source/gameengine/Ketsji/KX_SCA_AddObjectActuator.cpp +++ b/source/gameengine/Ketsji/KX_SCA_AddObjectActuator.cpp @@ -93,17 +93,7 @@ bool KX_SCA_AddObjectActuator::Update(double curtime, SCA_IObject* replica = m_scene->AddReplicaObject(m_OriginalObject,GetParent(),m_timeProp ); KX_GameObject * game_obj = static_cast(replica); game_obj->setLinearVelocity(m_linear_velocity,m_localFlag); - - //if (game_obj->GetSumoObject()) - //{ - // If this is object is also controlled by physics. - // we have to inform the physics controller that - // we no longer take control of the object. - // game_obj->GetPhysicsController()->ResolveCombinedVelocities(m_linear_velocity, - // MT_Vector3(0,0,0), - // m_localFlag, - // false); - //} + game_obj->ResolveCombinedVelocities(m_linear_velocity, MT_Vector3(0., 0., 0.), m_localFlag, false); // keep a copy of the last object, to allow python scripters to change it if (m_lastCreatedObject) @@ -184,7 +174,7 @@ PyMethodDef KX_SCA_AddObjectActuator::Methods[] = { }; -PyObject* KX_SCA_AddObjectActuator::_getattr(char* attr) +PyObject* KX_SCA_AddObjectActuator::_getattr(const STR_String& attr) { _getattr_up(SCA_IActuator); } diff --git a/source/gameengine/Ketsji/KX_SCA_AddObjectActuator.h b/source/gameengine/Ketsji/KX_SCA_AddObjectActuator.h index d5176bcd38e..d9f82e7251e 100644 --- a/source/gameengine/Ketsji/KX_SCA_AddObjectActuator.h +++ b/source/gameengine/Ketsji/KX_SCA_AddObjectActuator.h @@ -98,9 +98,9 @@ public: double deltatime ); - PyObject* + virtual PyObject* _getattr( - char *attr + const STR_String& attr ); SCA_IObject* diff --git a/source/gameengine/Ketsji/KX_SCA_EndObjectActuator.cpp b/source/gameengine/Ketsji/KX_SCA_EndObjectActuator.cpp index a549ef56714..e91f0b86b71 100644 --- a/source/gameengine/Ketsji/KX_SCA_EndObjectActuator.cpp +++ b/source/gameengine/Ketsji/KX_SCA_EndObjectActuator.cpp @@ -133,7 +133,7 @@ PyMethodDef KX_SCA_EndObjectActuator::Methods[] = { }; -PyObject* KX_SCA_EndObjectActuator::_getattr(char* attr) +PyObject* KX_SCA_EndObjectActuator::_getattr(const STR_String& attr) { _getattr_up(SCA_IActuator); } diff --git a/source/gameengine/Ketsji/KX_SCA_EndObjectActuator.h b/source/gameengine/Ketsji/KX_SCA_EndObjectActuator.h index 60c97322223..3b6e340f872 100644 --- a/source/gameengine/Ketsji/KX_SCA_EndObjectActuator.h +++ b/source/gameengine/Ketsji/KX_SCA_EndObjectActuator.h @@ -70,9 +70,9 @@ class KX_SCA_EndObjectActuator : public SCA_IActuator /* Python interface ---------------------------------------------------- */ /* --------------------------------------------------------------------- */ - PyObject* + virtual PyObject* _getattr( - char *attr + const STR_String& attr ); }; /* end of class KX_EditObjectActuator : public SCA_PropertyActuator */ diff --git a/source/gameengine/Ketsji/KX_SCA_ReplaceMeshActuator.cpp b/source/gameengine/Ketsji/KX_SCA_ReplaceMeshActuator.cpp index 060afe060ee..2480724986b 100644 --- a/source/gameengine/Ketsji/KX_SCA_ReplaceMeshActuator.cpp +++ b/source/gameengine/Ketsji/KX_SCA_ReplaceMeshActuator.cpp @@ -89,7 +89,7 @@ PyMethodDef KX_SCA_ReplaceMeshActuator::Methods[] = { -PyObject* KX_SCA_ReplaceMeshActuator::_getattr(char* attr) +PyObject* KX_SCA_ReplaceMeshActuator::_getattr(const STR_String& attr) { _getattr_up(SCA_IActuator); } diff --git a/source/gameengine/Ketsji/KX_SCA_ReplaceMeshActuator.h b/source/gameengine/Ketsji/KX_SCA_ReplaceMeshActuator.h index e0bb2c0a9b8..cc7bd8c9c6a 100644 --- a/source/gameengine/Ketsji/KX_SCA_ReplaceMeshActuator.h +++ b/source/gameengine/Ketsji/KX_SCA_ReplaceMeshActuator.h @@ -75,9 +75,9 @@ class KX_SCA_ReplaceMeshActuator : public SCA_IActuator double deltatime ); - PyObject* + virtual PyObject* _getattr( - char *attr + const STR_String& attr ); /* 1. setMesh */ diff --git a/source/gameengine/Ketsji/KX_SceneActuator.cpp b/source/gameengine/Ketsji/KX_SceneActuator.cpp index e07719ea680..996b671094a 100644 --- a/source/gameengine/Ketsji/KX_SceneActuator.cpp +++ b/source/gameengine/Ketsji/KX_SceneActuator.cpp @@ -224,7 +224,7 @@ PyMethodDef KX_SceneActuator::Methods[] = -PyObject* KX_SceneActuator::_getattr(char* attr) +PyObject* KX_SceneActuator::_getattr(const STR_String& attr) { _getattr_up(SCA_IActuator); } diff --git a/source/gameengine/Ketsji/KX_SceneActuator.h b/source/gameengine/Ketsji/KX_SceneActuator.h index 38de267092c..76039fcf436 100644 --- a/source/gameengine/Ketsji/KX_SceneActuator.h +++ b/source/gameengine/Ketsji/KX_SceneActuator.h @@ -92,7 +92,7 @@ class KX_SceneActuator : public SCA_IActuator /* Python interface ---------------------------------------------------- */ /* --------------------------------------------------------------------- */ - virtual PyObject* _getattr(char *attr); + virtual PyObject* _getattr(const STR_String& attr); /* 1. set */ /* Removed */ diff --git a/source/gameengine/Ketsji/KX_SoundActuator.cpp b/source/gameengine/Ketsji/KX_SoundActuator.cpp index 3e2103245f1..6f959f0273b 100644 --- a/source/gameengine/Ketsji/KX_SoundActuator.cpp +++ b/source/gameengine/Ketsji/KX_SoundActuator.cpp @@ -262,7 +262,7 @@ PyMethodDef KX_SoundActuator::Methods[] = { -PyObject* KX_SoundActuator::_getattr(char* attr) +PyObject* KX_SoundActuator::_getattr(const STR_String& attr) { _getattr_up(SCA_IActuator); } diff --git a/source/gameengine/Ketsji/KX_SoundActuator.h b/source/gameengine/Ketsji/KX_SoundActuator.h index 0ae1ef39d97..7cdf6013180 100644 --- a/source/gameengine/Ketsji/KX_SoundActuator.h +++ b/source/gameengine/Ketsji/KX_SoundActuator.h @@ -83,7 +83,7 @@ public: /* Python interface --------------------------------------------------- */ /* -------------------------------------------------------------------- */ - PyObject* _getattr(char *attr); + virtual PyObject* _getattr(const STR_String& attr); KX_PYMETHOD(KX_SoundActuator,SetFilename); KX_PYMETHOD(KX_SoundActuator,GetFilename); diff --git a/source/gameengine/Ketsji/KX_TouchSensor.cpp b/source/gameengine/Ketsji/KX_TouchSensor.cpp index 29d9109c272..9baa9377f02 100644 --- a/source/gameengine/Ketsji/KX_TouchSensor.cpp +++ b/source/gameengine/Ketsji/KX_TouchSensor.cpp @@ -246,7 +246,7 @@ PyMethodDef KX_TouchSensor::Methods[] = { {NULL,NULL} //Sentinel }; -PyObject* KX_TouchSensor::_getattr(char* attr) { +PyObject* KX_TouchSensor::_getattr(const STR_String& attr) { _getattr_up(SCA_ISensor); } diff --git a/source/gameengine/Ketsji/KX_TouchSensor.h b/source/gameengine/Ketsji/KX_TouchSensor.h index 4f2ac2d99fa..9dd17a5fe83 100644 --- a/source/gameengine/Ketsji/KX_TouchSensor.h +++ b/source/gameengine/Ketsji/KX_TouchSensor.h @@ -107,7 +107,7 @@ public: /* Python interface ---------------------------------------------------- */ /* --------------------------------------------------------------------- */ - virtual PyObject* _getattr(char *attr); + virtual PyObject* _getattr(const STR_String& attr); /* 1. setProperty */ KX_PYMETHOD_DOC(KX_TouchSensor,SetProperty); diff --git a/source/gameengine/Ketsji/KX_TrackToActuator.cpp b/source/gameengine/Ketsji/KX_TrackToActuator.cpp index 6dcb6281a63..c02cdbc17be 100644 --- a/source/gameengine/Ketsji/KX_TrackToActuator.cpp +++ b/source/gameengine/Ketsji/KX_TrackToActuator.cpp @@ -386,7 +386,7 @@ PyMethodDef KX_TrackToActuator::Methods[] = { -PyObject* KX_TrackToActuator::_getattr(char* attr) +PyObject* KX_TrackToActuator::_getattr(const STR_String& attr) { _getattr_up(SCA_IActuator); } diff --git a/source/gameengine/Ketsji/KX_TrackToActuator.h b/source/gameengine/Ketsji/KX_TrackToActuator.h index f549969a9f9..817bb4a8cfa 100644 --- a/source/gameengine/Ketsji/KX_TrackToActuator.h +++ b/source/gameengine/Ketsji/KX_TrackToActuator.h @@ -65,7 +65,7 @@ class KX_TrackToActuator : public SCA_IActuator virtual bool Update(double curtime,double deltatime); /* Python part */ - virtual PyObject* _getattr(char *attr); + virtual PyObject* _getattr(const STR_String& attr); /* 1. setObject */ KX_PYMETHOD_DOC(KX_TrackToActuator,SetObject); diff --git a/source/gameengine/Ketsji/KX_VertexProxy.cpp b/source/gameengine/Ketsji/KX_VertexProxy.cpp index b9cb9affe72..a8c6d0f921c 100644 --- a/source/gameengine/Ketsji/KX_VertexProxy.cpp +++ b/source/gameengine/Ketsji/KX_VertexProxy.cpp @@ -75,7 +75,7 @@ PyMethodDef KX_VertexProxy::Methods[] = { }; PyObject* -KX_VertexProxy::_getattr(char* attr) +KX_VertexProxy::_getattr(const STR_String& attr) { _getattr_up(SCA_IObject); } diff --git a/source/gameengine/Ketsji/KX_VertexProxy.h b/source/gameengine/Ketsji/KX_VertexProxy.h index 8226c2b4558..f447014b8b8 100644 --- a/source/gameengine/Ketsji/KX_VertexProxy.h +++ b/source/gameengine/Ketsji/KX_VertexProxy.h @@ -55,7 +55,7 @@ public: // stuff for python integration - virtual PyObject* _getattr(char *attr); + virtual PyObject* _getattr(const STR_String& attr); KX_PYMETHOD(KX_VertexProxy,GetXYZ); KX_PYMETHOD(KX_VertexProxy,SetXYZ); diff --git a/source/gameengine/Ketsji/KX_VisibilityActuator.cpp b/source/gameengine/Ketsji/KX_VisibilityActuator.cpp index ccaca4a93fb..dc0178976fa 100644 --- a/source/gameengine/Ketsji/KX_VisibilityActuator.cpp +++ b/source/gameengine/Ketsji/KX_VisibilityActuator.cpp @@ -132,7 +132,7 @@ KX_VisibilityActuator::Methods[] = { PyObject* KX_VisibilityActuator::_getattr( - char* attr + const STR_String& attr ) { _getattr_up(SCA_IActuator); diff --git a/source/gameengine/Ketsji/KX_VisibilityActuator.h b/source/gameengine/Ketsji/KX_VisibilityActuator.h index 7e9a0aeca75..9d5d38666f1 100644 --- a/source/gameengine/Ketsji/KX_VisibilityActuator.h +++ b/source/gameengine/Ketsji/KX_VisibilityActuator.h @@ -71,7 +71,7 @@ class KX_VisibilityActuator : public SCA_IActuator /* Python interface ---------------------------------------------------- */ /* --------------------------------------------------------------------- */ - virtual PyObject* _getattr(char *attr); + virtual PyObject* _getattr(const STR_String& attr); //KX_PYMETHOD_DOC KX_PYMETHOD_DOC(KX_VisibilityActuator,SetVisible); -- cgit v1.2.3