Revision: 16373
          
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=16373
Author:   campbellbarton
Date:     2008-09-05 04:53:12 +0200 (Fri, 05 Sep 2008)

Log Message:
-----------
BGE Py API
added exception messages for replaceMesh.setMesh() and allowed None as an 
argument.
added exception messages for other BGE module functions.

Modified Paths:
--------------
    trunk/blender/source/blender/python/api2_2x/Mathutils.c
    trunk/blender/source/blender/python/api2_2x/Mathutils.h
    trunk/blender/source/gameengine/Ketsji/KX_PythonInit.cpp
    trunk/blender/source/gameengine/Ketsji/KX_SCA_ReplaceMeshActuator.cpp
    trunk/blender/source/gameengine/Ketsji/KX_SCA_ReplaceMeshActuator.h
    trunk/blender/source/gameengine/PyDoc/KX_SCA_ReplaceMeshActuator.py

Modified: trunk/blender/source/blender/python/api2_2x/Mathutils.c
===================================================================
--- trunk/blender/source/blender/python/api2_2x/Mathutils.c     2008-09-05 
02:29:59 UTC (rev 16372)
+++ trunk/blender/source/blender/python/api2_2x/Mathutils.c     2008-09-05 
02:53:12 UTC (rev 16373)
@@ -108,7 +108,7 @@
 };
 /*----------------------------MODULE INIT-------------------------*/
 /* from can be Blender.Mathutils or GameLogic.Mathutils for the BGE */
-PyObject *Mathutils_Init(char *from)
+PyObject *Mathutils_Init(const char *from)
 {
        PyObject *submodule;
 

Modified: trunk/blender/source/blender/python/api2_2x/Mathutils.h
===================================================================
--- trunk/blender/source/blender/python/api2_2x/Mathutils.h     2008-09-05 
02:29:59 UTC (rev 16372)
+++ trunk/blender/source/blender/python/api2_2x/Mathutils.h     2008-09-05 
02:53:12 UTC (rev 16373)
@@ -38,7 +38,7 @@
 #include "euler.h"
 #include "point.h"
 
-PyObject *Mathutils_Init( char * from );
+PyObject *Mathutils_Init( const char * from );
 PyObject *row_vector_multiplication(VectorObject* vec, MatrixObject * mat);
 PyObject *column_vector_multiplication(MatrixObject * mat, VectorObject* vec);
 PyObject *row_point_multiplication(PointObject* pt, MatrixObject * mat);

Modified: trunk/blender/source/gameengine/Ketsji/KX_PythonInit.cpp
===================================================================
--- trunk/blender/source/gameengine/Ketsji/KX_PythonInit.cpp    2008-09-05 
02:29:59 UTC (rev 16372)
+++ trunk/blender/source/gameengine/Ketsji/KX_PythonInit.cpp    2008-09-05 
02:53:12 UTC (rev 16373)
@@ -123,15 +123,13 @@
 static PyObject* gPySetGravity(PyObject*, PyObject* args)
 {
        MT_Vector3 vec = MT_Vector3(0., 0., 0.);
-       if (PyVecArgTo(args, vec))
-       {
-               if (gp_KetsjiScene)
-                       gp_KetsjiScene->SetGravity(vec);
-               
-               Py_Return;
-       }
+       if (!PyVecArgTo(args, vec))
+               return NULL;
+
+       if (gp_KetsjiScene)
+               gp_KetsjiScene->SetGravity(vec);
        
-       return NULL;
+       Py_RETURN_NONE;
 }
 
 static char gPyExpandPath_doc[] =
@@ -149,13 +147,12 @@
        char expanded[FILE_MAXDIR + FILE_MAXFILE];
        char* filename;
        
-       if (PyArg_ParseTuple(args,"s",&filename))
-       {
-               BLI_strncpy(expanded, filename, FILE_MAXDIR + FILE_MAXFILE);
-               BLI_convertstringcode(expanded, G.sce);
-               return PyString_FromString(expanded);
-       }
-       return NULL;
+       if (!PyArg_ParseTuple(args,"s",&filename))
+               return NULL;
+
+       BLI_strncpy(expanded, filename, FILE_MAXDIR + FILE_MAXFILE);
+       BLI_convertstringcode(expanded, G.sce);
+       return PyString_FromString(expanded);
 }
 
 
@@ -183,6 +180,12 @@
                        PyList_SetItem(resultlist, index, 
PyFloat_FromDouble(spectrum[index]));
                }
        }
+       else {
+               for (int index = 0; index < 512; index++)
+               {
+                       PyList_SetItem(resultlist, index, 
PyFloat_FromDouble(0.0));
+               }
+       }
 
        return resultlist;
 }
@@ -193,16 +196,17 @@
 {
        SND_IAudioDevice* audiodevice = SND_DeviceManager::Instance();
 
-       if (audiodevice)
-       {
-               if (!usedsp)
-               {
-                       audiodevice->StartUsingDSP();
-                       usedsp = true;
-                       Py_Return;
-               }
+       if (!audiodevice) {
+               PyErr_SetString(PyExc_RuntimeError, "no audio device 
available");
+               return NULL;
        }
-       return NULL;
+       
+       if (!usedsp) {
+               audiodevice->StartUsingDSP();
+               usedsp = true;
+       }
+       
+       Py_RETURN_NONE;
 }
 
 
@@ -211,28 +215,27 @@
 {
        SND_IAudioDevice* audiodevice = SND_DeviceManager::Instance();
 
-       if (audiodevice)
-       {
-               if (usedsp)
-               {
-                       audiodevice->StopUsingDSP();
-                       usedsp = false;
-                       Py_Return;
-               }
+       if (!audiodevice) {
+               PyErr_SetString(PyExc_RuntimeError, "no audio device 
available");
+               return NULL;
        }
-       return NULL;
+       
+       if (usedsp) {
+               audiodevice->StopUsingDSP();
+               usedsp = true;
+       }
+       
+       Py_RETURN_NONE;
 }
 
 static PyObject* gPySetLogicTicRate(PyObject*, PyObject* args)
 {
        float ticrate;
-       if (PyArg_ParseTuple(args, "f", &ticrate))
-       {
-               KX_KetsjiEngine::SetTicRate(ticrate);
-               Py_Return;
-       }
+       if (!PyArg_ParseTuple(args, "f", &ticrate))
+               return NULL;
        
-       return NULL;
+       KX_KetsjiEngine::SetTicRate(ticrate);
+       Py_RETURN_NONE;
 }
 
 static PyObject* gPyGetLogicTicRate(PyObject*)
@@ -243,26 +246,21 @@
 static PyObject* gPySetPhysicsTicRate(PyObject*, PyObject* args)
 {
        float ticrate;
-       if (PyArg_ParseTuple(args, "f", &ticrate))
-       {
-
-               PHY_GetActiveEnvironment()->setFixedTimeStep(true,ticrate);
-               Py_Return;
-       }
+       if (!PyArg_ParseTuple(args, "f", &ticrate))
+               return NULL;
        
-       return NULL;
+       PHY_GetActiveEnvironment()->setFixedTimeStep(true,ticrate);
+       Py_RETURN_NONE;
 }
 
 static PyObject* gPySetPhysicsDebug(PyObject*, PyObject* args)
 {
        int debugMode;
-       if (PyArg_ParseTuple(args, "i", &debugMode))
-       {
-               PHY_GetActiveEnvironment()->setDebugMode(debugMode);
-               Py_Return;
-       }
+       if (!PyArg_ParseTuple(args, "i", &debugMode))
+               return NULL;
        
-       return NULL;
+       PHY_GetActiveEnvironment()->setDebugMode(debugMode);
+       Py_RETURN_NONE;
 }
 
 
@@ -425,22 +423,14 @@
 
 static PyObject* gPyGetWindowHeight(PyObject*, PyObject* args)
 {
-       int height = (gp_Canvas ? gp_Canvas->GetHeight() : 0);
-
-               PyObject* heightval = PyInt_FromLong(height);
-               return heightval;
+       return PyInt_FromLong((gp_Canvas ? gp_Canvas->GetHeight() : 0));
 }
 
 
 
 static PyObject* gPyGetWindowWidth(PyObject*, PyObject* args)
 {
-               
-
-       int width = (gp_Canvas ? gp_Canvas->GetWidth() : 0);
-       
-               PyObject* widthval = PyInt_FromLong(width);
-               return widthval;
+       return PyInt_FromLong((gp_Canvas ? gp_Canvas->GetWidth() : 0));
 }
 
 
@@ -451,15 +441,11 @@
 static PyObject* gPyEnableVisibility(PyObject*, PyObject* args)
 {
        int visible;
-       if (PyArg_ParseTuple(args,"i",&visible))
-       {
-           gUseVisibilityTemp = (visible != 0);
-       }
-       else
-       {
+       if (!PyArg_ParseTuple(args,"i",&visible))
                return NULL;
-       }
-   Py_Return;
+       
+       gUseVisibilityTemp = (visible != 0);
+       Py_RETURN_NONE;
 }
 
 
@@ -467,23 +453,20 @@
 static PyObject* gPyShowMouse(PyObject*, PyObject* args)
 {
        int visible;
-       if (PyArg_ParseTuple(args,"i",&visible))
+       if (!PyArg_ParseTuple(args,"i",&visible))
+               return NULL;
+       
+       if (visible)
        {
-           if (visible)
-               {
-                       if (gp_Canvas)
-                               
gp_Canvas->SetMouseState(RAS_ICanvas::MOUSE_NORMAL);
-               } else
-               {
-                       if (gp_Canvas)
-                               
gp_Canvas->SetMouseState(RAS_ICanvas::MOUSE_INVISIBLE);
-               }
+               if (gp_Canvas)
+                       gp_Canvas->SetMouseState(RAS_ICanvas::MOUSE_NORMAL);
+       } else
+       {
+               if (gp_Canvas)
+                       gp_Canvas->SetMouseState(RAS_ICanvas::MOUSE_INVISIBLE);
        }
-       else {
-               return NULL;
-       }
        
-   Py_Return;
+       Py_RETURN_NONE;
 }
 
 
@@ -491,74 +474,81 @@
 static PyObject* gPySetMousePosition(PyObject*, PyObject* args)
 {
        int x,y;
-       if (PyArg_ParseTuple(args,"ii",&x,&y))
-       {
-           if (gp_Canvas)
-                       gp_Canvas->SetMousePosition(x,y);
-       }
-       else {
+       if (!PyArg_ParseTuple(args,"ii",&x,&y))
                return NULL;
-       }
        
-   Py_Return;
+       if (gp_Canvas)
+               gp_Canvas->SetMousePosition(x,y);
+       
+       Py_RETURN_NONE;
 }
 
 static PyObject* gPySetEyeSeparation(PyObject*, PyObject* args)
 {
        float sep;
-       if (PyArg_ParseTuple(args, "f", &sep))
-       {
-               if (gp_Rasterizer)
-                       gp_Rasterizer->SetEyeSeparation(sep);
-                       
-               Py_Return;
+       if (!PyArg_ParseTuple(args, "f", &sep))
+               return NULL;
+
+       if (!gp_Rasterizer) {
+               PyErr_SetString(PyExc_RuntimeError, "Rasterizer not available");
+               return NULL;
        }
        
-       return NULL;
+       gp_Rasterizer->SetEyeSeparation(sep);
+       
+       Py_RETURN_NONE;
 }
 
 static PyObject* gPyGetEyeSeparation(PyObject*, PyObject*, PyObject*)
 {
-       if (gp_Rasterizer)
-               return PyFloat_FromDouble(gp_Rasterizer->GetEyeSeparation());
+       if (!gp_Rasterizer) {
+               PyErr_SetString(PyExc_RuntimeError, "Rasterizer not available");
+               return NULL;
+       }
        
-       return NULL;
+       return PyFloat_FromDouble(gp_Rasterizer->GetEyeSeparation());
 }
 
 static PyObject* gPySetFocalLength(PyObject*, PyObject* args)
 {
        float focus;
-       if (PyArg_ParseTuple(args, "f", &focus))
-       {
-               if (gp_Rasterizer)
-                       gp_Rasterizer->SetFocalLength(focus);
-               Py_Return;
+       if (!PyArg_ParseTuple(args, "f", &focus))
+               return NULL;
+       
+       if (!gp_Rasterizer) {
+               PyErr_SetString(PyExc_RuntimeError, "Rasterizer not available");
+               return NULL;
        }
+
+       gp_Rasterizer->SetFocalLength(focus);
        
-       return NULL;
+       Py_RETURN_NONE;
 }
 
 static PyObject* gPyGetFocalLength(PyObject*, PyObject*, PyObject*)
 {
-       if (gp_Rasterizer)
-               return PyFloat_FromDouble(gp_Rasterizer->GetFocalLength());
-       return NULL;
+       if (!gp_Rasterizer) {
+               PyErr_SetString(PyExc_RuntimeError, "Rasterizer not available");
+               return NULL;
+       }
+       
+       return PyFloat_FromDouble(gp_Rasterizer->GetFocalLength());
+       
+       Py_RETURN_NONE;
 }
 
 static PyObject* gPySetBackgroundColor(PyObject*, PyObject* args)
 {
        
        MT_Vector4 vec = MT_Vector4(0., 0., 0.3, 0.);
-       if (PyVecArgTo(args, vec))
+       if (!PyVecArgTo(args, vec))
+               return NULL;
+       
+       if (gp_Canvas)
        {
-               if (gp_Canvas)
-               {
-                       gp_Rasterizer->SetBackColor(vec[0], vec[1], vec[2], 
vec[3]);
-               }
-               Py_Return;
+               gp_Rasterizer->SetBackColor(vec[0], vec[1], vec[2], vec[3]);
        }
-       
-       return NULL;
+       Py_RETURN_NONE;
 }
 
 
@@ -567,16 +557,16 @@
 {
        
        MT_Vector3 vec = MT_Vector3(0., 0., 0.);
-       if (PyVecArgTo(args, vec))
-       {
-               if (gp_Rasterizer)
-               {
-                       gp_Rasterizer->SetFogColor(vec[0], vec[1], vec[2]);
-               }
-               Py_Return;
-       }
+       if (!PyVecArgTo(args, vec))
+               return NULL;
        
-       return NULL;
+       if (!gp_Rasterizer) {
+               PyErr_SetString(PyExc_RuntimeError, "Rasterizer not available");
+               return NULL;
+       }       
+       gp_Rasterizer->SetFogColor(vec[0], vec[1], vec[2]);
+       
+       Py_RETURN_NONE;
 }
 
 
@@ -585,17 +575,17 @@
 {
 
        float miststart;
-       if (PyArg_ParseTuple(args,"f",&miststart))
-       {
-               if (gp_Rasterizer)
-               {
-                       gp_Rasterizer->SetFogStart(miststart);
-               }
-       }
-       else {
+       if (!PyArg_ParseTuple(args,"f",&miststart))
                return NULL;
+       
+       if (!gp_Rasterizer) {
+               PyErr_SetString(PyExc_RuntimeError, "Rasterizer not available");
+               return NULL;
        }
-   Py_Return;
+       
+       gp_Rasterizer->SetFogStart(miststart);
+       
+       Py_RETURN_NONE;
 }
 
 
@@ -604,17 +594,17 @@
 {
 
        float mistend;
-       if (PyArg_ParseTuple(args,"f",&mistend))
-       {
-               if (gp_Rasterizer)
-               {
-                       gp_Rasterizer->SetFogEnd(mistend);
-               }
-       }
-       else {
+       if (!PyArg_ParseTuple(args,"f",&mistend))
                return NULL;
+       
+       if (!gp_Rasterizer) {
+               PyErr_SetString(PyExc_RuntimeError, "Rasterizer not available");
+               return NULL;
        }
-   Py_Return;
+       
+       gp_Rasterizer->SetFogEnd(mistend);
+       
+       Py_RETURN_NONE;
 }
 
 
@@ -622,16 +612,16 @@
 {
        
        MT_Vector3 vec = MT_Vector3(0., 0., 0.);
-       if (PyVecArgTo(args, vec))
-       {
-               if (gp_Rasterizer)
-               {
-                       gp_Rasterizer->SetAmbientColor(vec[0], vec[1], vec[2]);
-               }
-               Py_Return;
-       }
+       if (!PyVecArgTo(args, vec))
+               return NULL;
        
-       return NULL;
+       if (!gp_Rasterizer) {
+               PyErr_SetString(PyExc_RuntimeError, "Rasterizer not available");
+               return NULL;
+       }       

@@ Diff output truncated at 10240 characters. @@

_______________________________________________
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to