Revision: 19882
          
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=19882
Author:   ben2610
Date:     2009-04-23 00:12:36 +0200 (Thu, 23 Apr 2009)

Log Message:
-----------
BGE bug #17670: Python controlled mist doesnt work in textured mode.

Modified Paths:
--------------
    trunk/blender/source/gameengine/Ketsji/KX_KetsjiEngine.cpp
    trunk/blender/source/gameengine/Ketsji/KX_PythonInit.cpp
    trunk/blender/source/gameengine/Rasterizer/RAS_IRasterizer.h
    
trunk/blender/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.cpp
    
trunk/blender/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.h

Modified: trunk/blender/source/gameengine/Ketsji/KX_KetsjiEngine.cpp
===================================================================
--- trunk/blender/source/gameengine/Ketsji/KX_KetsjiEngine.cpp  2009-04-22 
20:54:27 UTC (rev 19881)
+++ trunk/blender/source/gameengine/Ketsji/KX_KetsjiEngine.cpp  2009-04-22 
22:12:36 UTC (rev 19882)
@@ -1000,7 +1000,7 @@
                        wi->getAmbientColorBlue()
                );
 
-               if (m_drawingmode == RAS_IRasterizer::KX_TEXTURED)
+               if (m_drawingmode >= RAS_IRasterizer::KX_SOLID)
                {       
                        if (wi->hasMist())
                        {
@@ -1012,10 +1012,6 @@
                                        wi->getMistColorBlue()
                                );
                        }
-                       else
-                       {
-                               m_rasterizer->DisableFog();
-                       }
                }
        }
 }

Modified: trunk/blender/source/gameengine/Ketsji/KX_PythonInit.cpp
===================================================================
--- trunk/blender/source/gameengine/Ketsji/KX_PythonInit.cpp    2009-04-22 
20:54:27 UTC (rev 19881)
+++ trunk/blender/source/gameengine/Ketsji/KX_PythonInit.cpp    2009-04-22 
22:12:36 UTC (rev 19882)
@@ -632,6 +632,17 @@
        Py_RETURN_NONE;
 }
 
+static PyObject* gPyDisableMist(PyObject*)
+{
+       
+       if (!gp_Rasterizer) {
+               PyErr_SetString(PyExc_RuntimeError, 
"Rasterizer.setMistColor(color), Rasterizer not available");
+               return NULL;
+       }       
+       gp_Rasterizer->DisableFog();
+       
+       Py_RETURN_NONE;
+}
 
 
 static PyObject* gPySetMistStart(PyObject*, PyObject* args)
@@ -900,6 +911,7 @@
    METH_VARARGS, "setMousePosition(int x,int y)"},
   {"setBackgroundColor",(PyCFunction)gPySetBackgroundColor,METH_O,"set 
Background Color (rgb)"},
        {"setAmbientColor",(PyCFunction)gPySetAmbientColor,METH_O,"set Ambient 
Color (rgb)"},
+ {"disableMist",(PyCFunction)gPyDisableMist,METH_NOARGS,"turn off mist"},
  {"setMistColor",(PyCFunction)gPySetMistColor,METH_O,"set Mist Color (rgb)"},
   {"setMistStart",(PyCFunction)gPySetMistStart,METH_VARARGS,"set Mist 
Start(rgb)"},
   {"setMistEnd",(PyCFunction)gPySetMistEnd,METH_VARARGS,"set Mist End(rgb)"},

Modified: trunk/blender/source/gameengine/Rasterizer/RAS_IRasterizer.h
===================================================================
--- trunk/blender/source/gameengine/Rasterizer/RAS_IRasterizer.h        
2009-04-22 20:54:27 UTC (rev 19881)
+++ trunk/blender/source/gameengine/Rasterizer/RAS_IRasterizer.h        
2009-04-22 22:12:36 UTC (rev 19882)
@@ -280,6 +280,7 @@
        /**
         */
        virtual void    DisableFog()=0;
+       virtual bool    IsFogEnabled()=0;
 
        virtual void    SetBackColor(float red,
                                                                 float green,

Modified: 
trunk/blender/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.cpp
===================================================================
--- 
trunk/blender/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.cpp
    2009-04-22 20:54:27 UTC (rev 19881)
+++ 
trunk/blender/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.cpp
    2009-04-22 22:12:36 UTC (rev 19882)
@@ -210,6 +210,10 @@
        m_fogenabled = false;
 }
 
+bool RAS_OpenGLRasterizer::IsFogEnabled()
+{
+       return m_fogenabled;
+}
 
 
 void RAS_OpenGLRasterizer::DisplayFog()

Modified: 
trunk/blender/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.h
===================================================================
--- 
trunk/blender/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.h
      2009-04-22 20:54:27 UTC (rev 19881)
+++ 
trunk/blender/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.h
      2009-04-22 22:12:36 UTC (rev 19882)
@@ -190,6 +190,7 @@
 
        void                    DisableFog();
        virtual void    DisplayFog();
+       virtual bool    IsFogEnabled();
 
        virtual void    SetBackColor(
                                                float red,


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

Reply via email to