Commit: eb464eed57e695594c1e8c6738c27a6b7846d657
Author: Antony Riakiotakis
Date:   Tue Sep 23 20:40:27 2014 +0200
Branches: master
https://developer.blender.org/rBeb464eed57e695594c1e8c6738c27a6b7846d657

Fix game engine not supporting material view.

Force textured view in that case. Also correct a few uses of the GLSL
flag in the viewport. Should only be relevant for textured viewport.

===================================================================

M       source/blender/editors/space_view3d/drawobject.c
M       source/blender/editors/space_view3d/view3d_draw.c
M       source/gameengine/BlenderRoutines/BL_KetsjiEmbedStart.cpp

===================================================================

diff --git a/source/blender/editors/space_view3d/drawobject.c 
b/source/blender/editors/space_view3d/drawobject.c
index e7b6e50..8c74679 100644
--- a/source/blender/editors/space_view3d/drawobject.c
+++ b/source/blender/editors/space_view3d/drawobject.c
@@ -302,7 +302,8 @@ bool draw_glsl_material(Scene *scene, Object *ob, View3D 
*v3d, const char dt)
        if (BKE_scene_use_new_shading_nodes(scene))
                return false;
        
-       return ((scene->gm.matmode == GAME_MAT_GLSL) || (v3d->drawtype == 
OB_MATERIAL)) && (dt > OB_SOLID);
+       return ((scene->gm.matmode == GAME_MAT_GLSL && v3d->drawtype == 
OB_TEXTURE) || 
+                       (v3d->drawtype == OB_MATERIAL)) && (dt > OB_SOLID);
 }
 
 static bool check_alpha_pass(Base *base)
diff --git a/source/blender/editors/space_view3d/view3d_draw.c 
b/source/blender/editors/space_view3d/view3d_draw.c
index 90f6374..2629d9f 100644
--- a/source/blender/editors/space_view3d/view3d_draw.c
+++ b/source/blender/editors/space_view3d/view3d_draw.c
@@ -2523,7 +2523,8 @@ CustomDataMask ED_view3d_datamask(Scene *scene, View3D 
*v3d)
                                mask |= CD_MASK_ORCO;
                }
                else {
-                       if (scene->gm.matmode == GAME_MAT_GLSL || v3d->drawtype 
== OB_MATERIAL)
+                       if ((scene->gm.matmode == GAME_MAT_GLSL && 
v3d->drawtype == OB_TEXTURE) || 
+                               (v3d->drawtype == OB_MATERIAL))
                                mask |= CD_MASK_ORCO;
                }
        }
diff --git a/source/gameengine/BlenderRoutines/BL_KetsjiEmbedStart.cpp 
b/source/gameengine/BlenderRoutines/BL_KetsjiEmbedStart.cpp
index 298b16a..c652532 100644
--- a/source/gameengine/BlenderRoutines/BL_KetsjiEmbedStart.cpp
+++ b/source/gameengine/BlenderRoutines/BL_KetsjiEmbedStart.cpp
@@ -67,6 +67,7 @@
 
 
 extern "C" {
+       #include "DNA_object_types.h"
        #include "DNA_view3d_types.h"
        #include "DNA_screen_types.h"
        #include "DNA_userdef_types.h"
@@ -282,6 +283,10 @@ extern "C" void StartKetsjiShell(struct bContext *C, 
struct ARegion *ar, rcti *c
                bool mouse_state = startscene->gm.flag & GAME_SHOW_MOUSE;
                bool restrictAnimFPS = startscene->gm.flag & 
GAME_RESTRICT_ANIM_UPDATES;
 
+               short drawtype = v3d->drawtype;
+               
+               /* we do not support material mode in game engine, force change 
to texture mode */
+               if (drawtype == OB_MATERIAL) drawtype = OB_TEXTURE;
                if (animation_record) usefixed= false; /* override since you 
don't want to run full-speed for sim recording */
 
                // create the canvas and rasterizer
@@ -370,7 +375,7 @@ extern "C" void StartKetsjiShell(struct bContext *C, struct 
ARegion *ar, rcti *c
                        camzoom = 2.0;
                }
 
-               rasterizer->SetDrawingMode(v3d->drawtype);
+               rasterizer->SetDrawingMode(drawtype);
                ketsjiengine->SetCameraZoom(camzoom);
                
                // if we got an exitcode 3 (KX_EXIT_REQUEST_START_OTHER_GAME) 
load a different file

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

Reply via email to