use long long rather then int for storing game logic properties.

There were also some problems with int to python conversion
- assigning a PyLong to a KX_GameObject from python would raise an error
- PyLong were coerced into floats when used with internal CValue arithmetic

Changes...
- PyLong is converted into CIntValue for coercing and assigning from python
- CValue's generic GetNumber() function returns a double rather then a float.
- Print an error when a PyType cant be coerced into a CValue

Tested with python, expressions and property sensor.
This commit is contained in:
Campbell Barton
2009-04-12 06:41:01 +00:00
parent 4cd088b105
commit 33170295c8
36 changed files with 70 additions and 58 deletions

View File

@@ -177,7 +177,7 @@ CValue* KX_PolyProxy::Calc(VALUE_OPERATOR, CValue *) { return NULL;}
CValue* KX_PolyProxy::CalcFinal(VALUE_DATA_TYPE, VALUE_OPERATOR, CValue *) { return NULL;}
STR_String sPolyName="polygone";
const STR_String & KX_PolyProxy::GetText() {return sPolyName;};
float KX_PolyProxy::GetNumber() { return -1;}
double KX_PolyProxy::GetNumber() { return -1;}
STR_String KX_PolyProxy::GetName() { return sPolyName;}
void KX_PolyProxy::SetName(STR_String) { };
CValue* KX_PolyProxy::GetReplica() { return NULL;}