diff options
author | Kester Maddock <Christopher.Maddock.1@uni.massey.ac.nz> | 2004-06-04 07:00:13 +0400 |
---|---|---|
committer | Kester Maddock <Christopher.Maddock.1@uni.massey.ac.nz> | 2004-06-04 07:00:13 +0400 |
commit | 44f45894c2fca8f7e0b7bbfff0e50f24e6c993a5 (patch) | |
tree | 740e361ce3f2fb47885348bed9b0ff5cd537a9ad /source/gameengine/Expressions | |
parent | 4ff321d50773166712a611233437c7b19183087c (diff) |
Miscellaneous Fixes:
Add Python Mapping method to CListValue
Fix Bernoulli bool distribution python method for random actuator
Fix Python IpoActuator methods setProperty and force acts local
Make data objects private
Better sort method for polygon materials - much easier to understand
Diffstat (limited to 'source/gameengine/Expressions')
-rw-r--r-- | source/gameengine/Expressions/ListValue.cpp | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/source/gameengine/Expressions/ListValue.cpp b/source/gameengine/Expressions/ListValue.cpp index 6984e5663db..3ee8a5a3501 100644 --- a/source/gameengine/Expressions/ListValue.cpp +++ b/source/gameengine/Expressions/ListValue.cpp @@ -28,8 +28,6 @@ int listvalue_bufferlen(PyObject* list) return ( ((CListValue*)list)->GetCount()); } - - PyObject* listvalue_buffer_item(PyObject* list,int index) { if (index >= 0 && index < ((CListValue*) list)->GetCount()) @@ -45,6 +43,19 @@ PyObject* listvalue_buffer_item(PyObject* list,int index) return NULL; } +PyObject* listvalue_mapping_subscript(PyObject* list,PyObject* pyindex) +{ + if (PyString_Check(pyindex)) + { + STR_String index(PyString_AsString(pyindex)); + CValue *item = ((CListValue*) list)->FindValue(index); + if (item) + return (PyObject*) item; + + } + Py_Error(PyExc_IndexError, "Python ListIndex out of range"); + Py_Return; +} /* just slice it into a python list... */ @@ -157,7 +168,7 @@ static PySequenceMethods listvalue_as_sequence = { /* Is this one used ? */ static PyMappingMethods instance_as_mapping = { (inquiry)listvalue_bufferlen, /*mp_length*/ - 0,//(binaryfunc)instance_subscript, /*mp_subscript*/ + (binaryfunc)listvalue_mapping_subscript, /*mp_subscript*/ 0,//(objobjargproc)instance_ass_subscript, /*mp_ass_subscript*/ }; |