Revision: 19045
          
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=19045
Author:   ben2610
Date:     2009-02-20 00:13:41 +0100 (Fri, 20 Feb 2009)

Log Message:
-----------
BGE API Cleanup: distinction between array and list of values in KX_PYATTRIBUTE 
macros. Fix compilation problem under Windows with strcasecmp: define it as 
stricmp

Modified Paths:
--------------
    trunk/blender/source/gameengine/Expressions/InputParser.cpp
    trunk/blender/source/gameengine/Expressions/PyObjectPlus.h
    trunk/blender/source/gameengine/GameLogic/SCA_JoystickSensor.cpp
    trunk/blender/source/gameengine/GameLogic/SCA_MouseSensor.cpp

Modified: trunk/blender/source/gameengine/Expressions/InputParser.cpp
===================================================================
--- trunk/blender/source/gameengine/Expressions/InputParser.cpp 2009-02-19 
19:03:53 UTC (rev 19044)
+++ trunk/blender/source/gameengine/Expressions/InputParser.cpp 2009-02-19 
23:13:41 UTC (rev 19045)
@@ -38,6 +38,9 @@
 // cool things like (IF(LOD==1,CCurvedValue,IF(LOD==2,CCurvedValue2)) etc...
 #include "IfExpr.h" 
 
+#if defined(WIN32) || defined(WIN64)
+#define strcasecmp _stricmp
+#endif /* Def WIN32 or Def WIN64 */
 
 #define NUM_PRIORITY 6
 //////////////////////////////////////////////////////////////////////

Modified: trunk/blender/source/gameengine/Expressions/PyObjectPlus.h
===================================================================
--- trunk/blender/source/gameengine/Expressions/PyObjectPlus.h  2009-02-19 
19:03:53 UTC (rev 19044)
+++ trunk/blender/source/gameengine/Expressions/PyObjectPlus.h  2009-02-19 
23:13:41 UTC (rev 19045)
@@ -283,10 +283,17 @@
 #define KX_PYATTRIBUTE_SHORT_RO(name,object,field) \
        { name, KX_PYATTRIBUTE_TYPE_SHORT, KX_PYATTRIBUTE_RO, 0, 0, 0.f, 0.f, 
false, offsetof(object,field), 0, 1, NULL, {NULL, &((object *)0)->field, NULL, 
NULL, NULL} }
 #define KX_PYATTRIBUTE_SHORT_ARRAY_RW(name,min,max,clamp,object,field,length) \
+       { name, KX_PYATTRIBUTE_TYPE_SHORT, KX_PYATTRIBUTE_RW, min, max, 0.f, 
0.f, clamp, offsetof(object,field), 0, length, NULL, {NULL, ((object 
*)0)->field, NULL, NULL, NULL} }
+#define 
KX_PYATTRIBUTE_SHORT_ARRAY_RW_CHECK(name,min,max,clamp,object,field,length,function)
 \
+       { name, KX_PYATTRIBUTE_TYPE_SHORT, KX_PYATTRIBUTE_RW, min, max, 0.f, 
0.f, clamp, offsetof(object,field), 0, length, &object::function, {NULL, 
((object *)0)->field, NULL, NULL, NULL} }
+#define KX_PYATTRIBUTE_SHORT_ARRAY_RO(name,object,field,length) \
+       { name, KX_PYATTRIBUTE_TYPE_SHORT, KX_PYATTRIBUTE_RO, 0, 0, 0.f, 0.f, 
false, offsetof(object,field), 0, length, NULL, {NULL, ((object *)0)->field, 
NULL, NULL, NULL} }
+// SHORT_LIST
+#define KX_PYATTRIBUTE_SHORT_LIST_RW(name,min,max,clamp,object,field,length) \
        { name, KX_PYATTRIBUTE_TYPE_SHORT, KX_PYATTRIBUTE_RW, min, max, 0.f, 
0.f, clamp, offsetof(object,field), 0, length, NULL, {NULL, &((object 
*)0)->field, NULL, NULL, NULL} }
-#define 
KX_PYATTRIBUTE_SHORT_ARRAY_RW_CHECK(name,min,max,clamp,object,field,length,function)
 \
+#define 
KX_PYATTRIBUTE_SHORT_LIST_RW_CHECK(name,min,max,clamp,object,field,length,function)
 \
        { name, KX_PYATTRIBUTE_TYPE_SHORT, KX_PYATTRIBUTE_RW, min, max, 0.f, 
0.f, clamp, offsetof(object,field), 0, length, &object::function, {NULL, 
&((object *)0)->field, NULL, NULL, NULL} }
-#define KX_PYATTRIBUTE_SHORT_ARRAY_RO(name,object,field,length) \
+#define KX_PYATTRIBUTE_SHORT_LIST_RO(name,object,field,length) \
        { name, KX_PYATTRIBUTE_TYPE_SHORT, KX_PYATTRIBUTE_RO, 0, 0, 0.f, 0.f, 
false, offsetof(object,field), 0, length, NULL, {NULL, &((object *)0)->field, 
NULL, NULL, NULL} }
 
 #define KX_PYATTRIBUTE_INT_RW(name,min,max,clamp,object,field) \
@@ -296,10 +303,17 @@
 #define KX_PYATTRIBUTE_INT_RO(name,object,field) \
        { name, KX_PYATTRIBUTE_TYPE_INT, KX_PYATTRIBUTE_RO, 0, 0, 0.f, 0.f, 
false, offsetof(object,field), 0, 1, NULL, {NULL, NULL, &((object *)0)->field, 
NULL, NULL} }
 #define KX_PYATTRIBUTE_INT_ARRAY_RW(name,min,max,clamp,object,field,length) \
+       { name, KX_PYATTRIBUTE_TYPE_INT, KX_PYATTRIBUTE_RW, min, max, 0.f, 0.f, 
clamp, offsetof(object,field), 0, length, NULL, {NULL, NULL, ((object 
*)0)->field, NULL, NULL} }
+#define 
KX_PYATTRIBUTE_INT_ARRAY_RW_CHECK(name,min,max,clamp,object,field,length,function)
 \
+       { name, KX_PYATTRIBUTE_TYPE_INT, KX_PYATTRIBUTE_RW, min, max, 0.f, 0.f, 
clamp, offsetof(object,field), 0, length, &object::function, {NULL, NULL, 
((object *)0)->field, NULL, NULL} }
+#define KX_PYATTRIBUTE_INT_ARRAY_RO(name,object,field,length) \
+       { name, KX_PYATTRIBUTE_TYPE_INT, KX_PYATTRIBUTE_RO, 0, 0, 0.f, 0.f, 
false, offsetof(object,field), 0, length, NULL, {NULL, NULL, ((object 
*)0)->field, NULL, NULL} }
+// INT_LIST
+#define KX_PYATTRIBUTE_INT_LIST_RW(name,min,max,clamp,object,field,length) \
        { name, KX_PYATTRIBUTE_TYPE_INT, KX_PYATTRIBUTE_RW, min, max, 0.f, 0.f, 
clamp, offsetof(object,field), 0, length, NULL, {NULL, NULL, &((object 
*)0)->field, NULL, NULL} }
-#define 
KX_PYATTRIBUTE_INT_ARRAY_RW_CHECK(name,min,max,clamp,object,field,length,function)
 \
+#define 
KX_PYATTRIBUTE_INT_LIST_RW_CHECK(name,min,max,clamp,object,field,length,function)
 \
        { name, KX_PYATTRIBUTE_TYPE_INT, KX_PYATTRIBUTE_RW, min, max, 0.f, 0.f, 
clamp, offsetof(object,field), 0, length, &object::function, {NULL, NULL, 
&((object *)0)->field, NULL, NULL} }
-#define KX_PYATTRIBUTE_INT_ARRAY_RO(name,object,field,length) \
+#define KX_PYATTRIBUTE_INT_LIST_RO(name,object,field,length) \
        { name, KX_PYATTRIBUTE_TYPE_INT, KX_PYATTRIBUTE_RO, 0, 0, 0.f, 0.f, 
false, offsetof(object,field), 0, length, NULL, {NULL, NULL, &((object 
*)0)->field, NULL, NULL} }
 
 // always clamp for float
@@ -310,11 +324,11 @@
 #define KX_PYATTRIBUTE_FLOAT_RO(name,object,field) \
        { name, KX_PYATTRIBUTE_TYPE_FLOAT, KX_PYATTRIBUTE_RO, 0, 0, 0.f, 0.f, 
false, offsetof(object,field), 0, 1, NULL, {NULL, NULL, NULL, &((object 
*)0)->field, NULL} }
 #define KX_PYATTRIBUTE_FLOAT_ARRAY_RW(name,min,max,object,field,length) \
-       { name, KX_PYATTRIBUTE_TYPE_FLOAT, KX_PYATTRIBUTE_RW, 0, 0, min, max, 
true, offsetof(object,field), 0, length, NULL, {NULL, NULL, NULL, &((object 
*)0)->field, NULL} }
+       { name, KX_PYATTRIBUTE_TYPE_FLOAT, KX_PYATTRIBUTE_RW, 0, 0, min, max, 
true, offsetof(object,field), 0, length, NULL, {NULL, NULL, NULL, ((object 
*)0)->field, NULL} }
 #define 
KX_PYATTRIBUTE_FLOAT_ARRAY_RW_CHECK(name,min,max,object,field,length,function) \
-       { name, KX_PYATTRIBUTE_TYPE_FLOAT, KX_PYATTRIBUTE_RW, 0, 0, min, max, 
true, offsetof(object,field), 0, length, &object::function, {NULL, NULL, NULL, 
&((object *)0)->field, NULL} }
+       { name, KX_PYATTRIBUTE_TYPE_FLOAT, KX_PYATTRIBUTE_RW, 0, 0, min, max, 
true, offsetof(object,field), 0, length, &object::function, {NULL, NULL, NULL, 
((object *)0)->field, NULL} }
 #define KX_PYATTRIBUTE_FLOAT_ARRAY_RO(name,object,field,length) \
-       { name, KX_PYATTRIBUTE_TYPE_FLOAT, KX_PYATTRIBUTE_RO, 0, 0, 0.f, 0.f, 
false, offsetof(object,field), 0, length, NULL, {NULL, NULL, NULL, &((object 
*)0)->field, NULL} }
+       { name, KX_PYATTRIBUTE_TYPE_FLOAT, KX_PYATTRIBUTE_RO, 0, 0, 0.f, 0.f, 
false, offsetof(object,field), 0, length, NULL, {NULL, NULL, NULL, ((object 
*)0)->field, NULL} }
 
 #define KX_PYATTRIBUTE_STRING_RW(name,min,max,clamp,object,field) \
        { name, KX_PYATTRIBUTE_TYPE_STRING, KX_PYATTRIBUTE_RW, min, max, 0.f, 
0.f, clamp, offsetof(object,field), 0, 1, NULL, {NULL, NULL, NULL, NULL, 
&((object *)0)->field} }
@@ -323,6 +337,10 @@
 #define KX_PYATTRIBUTE_STRING_RO(name,object,field) \
        { name, KX_PYATTRIBUTE_TYPE_STRING, KX_PYATTRIBUTE_RO, 0, 0, 0.f, 0.f, 
false, offsetof(object,field), 0, 1 , NULL, {NULL, NULL, NULL, NULL, &((object 
*)0)->field} }
 
+//Multiple integer
+#define 
KX_PYATTRIBUTE_MINT_RW_CHECK(name,min,max,clamp,object,field,length,function) \
+        { name, KX_PYATTRIBUTE_TYPE_INT, KX_PYATTRIBUTE_RW, min, max, 0.f, 
0.f, clamp, offsetof(object,field), 0, length, &object::function, {NULL, NULL, 
&((object *)0)->field, NULL, NULL} }
+
 /*------------------------------
  * PyObjectPlus
 ------------------------------*/

Modified: trunk/blender/source/gameengine/GameLogic/SCA_JoystickSensor.cpp
===================================================================
--- trunk/blender/source/gameengine/GameLogic/SCA_JoystickSensor.cpp    
2009-02-19 19:03:53 UTC (rev 19044)
+++ trunk/blender/source/gameengine/GameLogic/SCA_JoystickSensor.cpp    
2009-02-19 23:13:41 UTC (rev 19045)
@@ -331,8 +331,8 @@
        
KX_PYATTRIBUTE_SHORT_RW("index",0,JOYINDEX_MAX-1,true,SCA_JoystickSensor,m_joyindex),
        
KX_PYATTRIBUTE_INT_RW("threshold",0,32768,true,SCA_JoystickSensor,m_precision),
        KX_PYATTRIBUTE_INT_RW("button",0,100,false,SCA_JoystickSensor,m_button),
-       
KX_PYATTRIBUTE_INT_ARRAY_RW_CHECK("axis",0,3,true,SCA_JoystickSensor,m_axis,2,CheckAxis),
-       
KX_PYATTRIBUTE_INT_ARRAY_RW_CHECK("hat",0,12,true,SCA_JoystickSensor,m_hat,2,CheckHat),
+       
KX_PYATTRIBUTE_INT_LIST_RW_CHECK("axis",0,3,true,SCA_JoystickSensor,m_axis,2,CheckAxis),
+       
KX_PYATTRIBUTE_INT_LIST_RW_CHECK("hat",0,12,true,SCA_JoystickSensor,m_hat,2,CheckHat),
        // dummy attributes will just be read-only in _setattr
        // you still need to defined them in _getattr
        KX_PYATTRIBUTE_DUMMY("axisPosition"),

Modified: trunk/blender/source/gameengine/GameLogic/SCA_MouseSensor.cpp
===================================================================
--- trunk/blender/source/gameengine/GameLogic/SCA_MouseSensor.cpp       
2009-02-19 19:03:53 UTC (rev 19044)
+++ trunk/blender/source/gameengine/GameLogic/SCA_MouseSensor.cpp       
2009-02-19 23:13:41 UTC (rev 19045)
@@ -337,7 +337,7 @@
 
 PyAttributeDef SCA_MouseSensor::Attributes[] = {
        
KX_PYATTRIBUTE_SHORT_RW_CHECK("mode",KX_MOUSESENSORMODE_NODEF,KX_MOUSESENSORMODE_MAX-1,true,SCA_MouseSensor,m_mousemode,UpdateHotkey),
-       KX_PYATTRIBUTE_SHORT_ARRAY_RO("position",SCA_MouseSensor,m_x,2),
+       KX_PYATTRIBUTE_SHORT_LIST_RO("position",SCA_MouseSensor,m_x,2),
        { NULL }        //Sentinel
 };
 


_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to