From 9cc61dd9c8233c8878599aec1bd95fe8019094a6 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Sun, 10 May 2009 22:33:21 +0000 Subject: use the same sequence mapping types as CListValue, hopefully this means it will build on different python versions --- source/gameengine/Ketsji/KX_PythonSeq.cpp | 40 +++++++++++++++---------------- 1 file changed, 20 insertions(+), 20 deletions(-) (limited to 'source/gameengine/Ketsji/KX_PythonSeq.cpp') diff --git a/source/gameengine/Ketsji/KX_PythonSeq.cpp b/source/gameengine/Ketsji/KX_PythonSeq.cpp index c2ecf3b384f..cc8021fc2e4 100644 --- a/source/gameengine/Ketsji/KX_PythonSeq.cpp +++ b/source/gameengine/Ketsji/KX_PythonSeq.cpp @@ -20,7 +20,7 @@ * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV. * All rights reserved. * - * The Original Code is: all of this file. + * The Original Code is: none of this file. * * Contributor(s): Campbell Barton * @@ -52,26 +52,26 @@ PyObject *KX_PythonSeq_CreatePyObject( PyObject *base, short type ) PyObject_DEL( self ); } -static int KX_PythonSeq_len( KX_PythonSeq * self ) +static Py_ssize_t KX_PythonSeq_len( PyObject * self ) { - PyObjectPlus *self_plus= BGE_PROXY_REF(self->base); + PyObjectPlus *self_plus= BGE_PROXY_REF(((KX_PythonSeq *)self)->base); if(self_plus==NULL) { PyErr_SetString(PyExc_SystemError, BGE_PROXY_ERROR_MSG); return -1; } - switch(self->type) { + switch(((KX_PythonSeq *)self)->type) { case KX_PYGENSEQ_CONT_TYPE_SENSORS: - return (int)(((SCA_IController *)self_plus)->GetLinkedSensors().size()); + return ((SCA_IController *)self_plus)->GetLinkedSensors().size(); case KX_PYGENSEQ_CONT_TYPE_ACTUATORS: - return (int)(((SCA_IController *)self_plus)->GetLinkedActuators().size()); + return ((SCA_IController *)self_plus)->GetLinkedActuators().size(); case KX_PYGENSEQ_OB_TYPE_SENSORS: - return (int)(((KX_GameObject *)self_plus)->GetSensors().size()); + return ((KX_GameObject *)self_plus)->GetSensors().size(); case KX_PYGENSEQ_OB_TYPE_CONTROLLERS: - return (int)(((KX_GameObject *)self_plus)->GetControllers().size()); + return ((KX_GameObject *)self_plus)->GetControllers().size(); case KX_PYGENSEQ_OB_TYPE_ACTUATORS: - return (int)(((KX_GameObject *)self_plus)->GetActuators().size()); + return ((KX_GameObject *)self_plus)->GetActuators().size(); default: /* Should never happen */ PyErr_SetString(PyExc_SystemError, "invalid type, internal error"); @@ -79,16 +79,16 @@ static int KX_PythonSeq_len( KX_PythonSeq * self ) } } -static PyObject *KX_PythonSeq_getIndex(KX_PythonSeq * self, int index) +static PyObject *KX_PythonSeq_getIndex(PyObject* self, int index) { - PyObjectPlus *self_plus= BGE_PROXY_REF(self->base); + PyObjectPlus *self_plus= BGE_PROXY_REF(((KX_PythonSeq *)self)->base); if(self_plus==NULL) { PyErr_SetString(PyExc_SystemError, BGE_PROXY_ERROR_MSG); return NULL; } - switch(self->type) { + switch(((KX_PythonSeq *)self)->type) { case KX_PYGENSEQ_CONT_TYPE_SENSORS: { vector& linkedsensors = ((SCA_IController *)self_plus)->GetLinkedSensors(); @@ -146,9 +146,9 @@ static PyObject *KX_PythonSeq_getIndex(KX_PythonSeq * self, int index) } -static PyObject * KX_PythonSeq_subscript(KX_PythonSeq * self, PyObject *key) +static PyObject * KX_PythonSeq_subscript(PyObject * self, PyObject *key) { - PyObjectPlus *self_plus= BGE_PROXY_REF(self->base); + PyObjectPlus *self_plus= BGE_PROXY_REF(((KX_PythonSeq *)self)->base); char *name = NULL; if(self_plus==NULL) { @@ -165,7 +165,7 @@ static PyObject * KX_PythonSeq_subscript(KX_PythonSeq * self, PyObject *key) return NULL; } - switch(self->type) { + switch(((KX_PythonSeq *)self)->type) { case KX_PYGENSEQ_CONT_TYPE_SENSORS: { vector& linkedsensors = ((SCA_IController *)self_plus)->GetLinkedSensors(); @@ -228,8 +228,8 @@ static PyObject * KX_PythonSeq_subscript(KX_PythonSeq * self, PyObject *key) } static PyMappingMethods KX_PythonSeq_as_mapping = { - ( inquiry ) KX_PythonSeq_len, /* mp_length */ - ( binaryfunc ) KX_PythonSeq_subscript, /* mp_subscript */ + KX_PythonSeq_len, /* mp_length */ + KX_PythonSeq_subscript, /* mp_subscript */ 0, /* mp_ass_subscript */ }; @@ -238,7 +238,7 @@ static PyMappingMethods KX_PythonSeq_as_mapping = { * Initialize the interator index */ -static PyObject *KX_PythonSeq_getIter( KX_PythonSeq * self ) +static PyObject *KX_PythonSeq_getIter(KX_PythonSeq *self) { if(BGE_PROXY_REF(self->base)==NULL) { PyErr_SetString(PyExc_SystemError, BGE_PROXY_ERROR_MSG); @@ -260,9 +260,9 @@ static PyObject *KX_PythonSeq_getIter( KX_PythonSeq * self ) * Return next KX_PythonSeq iter. */ -static PyObject *KX_PythonSeq_nextIter( KX_PythonSeq * self ) +static PyObject *KX_PythonSeq_nextIter(KX_PythonSeq *self) { - PyObject *object = KX_PythonSeq_getIndex(self, self->iter); + PyObject *object = KX_PythonSeq_getIndex((PyObject *)self, self->iter); self->iter++; if( object==NULL ) { -- cgit v1.2.3