Revision: 20785
          
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=20785
Author:   yukishiro
Date:     2009-06-10 17:13:05 +0200 (Wed, 10 Jun 2009)

Log Message:
-----------
fix several things after merge

Modified Paths:
--------------
    branches/soc-2009-yukishiro/source/blender/blenloader/intern/readfile.c
    branches/soc-2009-yukishiro/source/blender/blenloader/intern/writefile.c
    
branches/soc-2009-yukishiro/source/blender/editors/sculpt_paint/paint_light.c
    
branches/soc-2009-yukishiro/source/blender/editors/space_view3d/view3d_header.c
    branches/soc-2009-yukishiro/source/blender/makesdna/DNA_lightenv_types.h

Modified: 
branches/soc-2009-yukishiro/source/blender/blenloader/intern/readfile.c
===================================================================
--- branches/soc-2009-yukishiro/source/blender/blenloader/intern/readfile.c     
2009-06-10 15:09:44 UTC (rev 20784)
+++ branches/soc-2009-yukishiro/source/blender/blenloader/intern/readfile.c     
2009-06-10 15:13:05 UTC (rev 20785)
@@ -3933,6 +3933,7 @@
        if(sce->toolsettings) {
                sce->toolsettings->vpaint= newdataadr(fd, 
sce->toolsettings->vpaint);
                sce->toolsettings->wpaint= newdataadr(fd, 
sce->toolsettings->wpaint);
+               sce->toolsettings->lpaint= newdataadr(fd, 
sce->toolsettings->lpaint);
                sce->toolsettings->sculpt= newdataadr(fd, 
sce->toolsettings->sculpt);
                sce->toolsettings->imapaint.paintcursor= NULL;
                sce->toolsettings->particle.paintcursor= NULL;
@@ -4163,6 +4164,13 @@
        }
 }
 
+/* ****************** READ LIGHTPAINT ***************** */
+static void direct_link_lightenv(FileData *fd, LightEnv *env)
+{
+        direct_link_scriptlink(fd, &env->scriptlink);
+        env->preview = direct_link_preview_image(fd, env->preview);
+}
+
 /* ****************** READ SCREEN ***************** */
 
 static void butspace_version_132(SpaceButs *buts)
@@ -4912,6 +4920,7 @@
                case ID_BR: return "Data from BR";
                case ID_PA: return "Data from PA";
                case ID_GD: return "Data from GD";
+               case ID_LE: return "Data from LE";
        }
        return "Data from Lib Block";
        
@@ -5071,6 +5080,9 @@
                case ID_GD:
                        direct_link_gpencil(fd, (bGPdata *)id);
                        break;
+                case ID_LE:
+                        direct_link_lightenv(fd, (LightEnv *)id);
+                        break;
        }
        
        /*link direct data of ID properties*/
@@ -10106,6 +10118,7 @@
                                                break;
                                        case ID_PA:
                                                expand_particlesettings(fd, 
mainvar, (ParticleSettings *)id);
+                                                break;
                                        }
 
                                        doit= 1;

Modified: 
branches/soc-2009-yukishiro/source/blender/blenloader/intern/writefile.c
===================================================================
--- branches/soc-2009-yukishiro/source/blender/blenloader/intern/writefile.c    
2009-06-10 15:09:44 UTC (rev 20784)
+++ branches/soc-2009-yukishiro/source/blender/blenloader/intern/writefile.c    
2009-06-10 15:13:05 UTC (rev 20785)
@@ -1591,7 +1591,7 @@
                if(sce->toolsettings->wpaint)
                        writestruct(wd, DATA, "VPaint", 1, 
sce->toolsettings->wpaint);
                if(sce->toolsettings->lpaint)
-                       writestruct(wd, DATA, "VPaint", 1, 
sce->toolsettings->wpaint);
+                       writestruct(wd, DATA, "VPaint", 1, 
sce->toolsettings->lpaint);
                if(sce->toolsettings->sculpt)
                        writestruct(wd, DATA, "Sculpt", 1, 
sce->toolsettings->sculpt);
 
@@ -1729,6 +1729,21 @@
        }
 }
 
+static void write_lightenvs(WriteData *wd, ListBase *idbase)
+{
+        LightEnv *env;
+        
+        env = idbase->first;
+        while (env) {
+                if (env->id.us > 0 || wd->current) {
+                        writestruct(wd, ID_LE, "LightEnv", 1, env);
+                       if (env->id.properties) 
IDP_WriteProperty(env->id.properties, wd);
+                       write_scriptlink(wd, &env->scriptlink);
+                       write_previews(wd, env->preview);
+                }
+        }
+}
+
 static void write_windowmanagers(WriteData *wd, ListBase *lb)
 {
        wmWindowManager *wm;
@@ -2212,6 +2227,7 @@
        write_brushes  (wd, &mainvar->brush);
        write_scripts  (wd, &mainvar->script);
        write_gpencils (wd, &mainvar->gpencil);
+        write_lightenvs(wd, &mainvar->lightenv);
        if(current==NULL)       
                write_libraries(wd,  mainvar->next); /* no library save in undo 
*/
 

Modified: 
branches/soc-2009-yukishiro/source/blender/editors/sculpt_paint/paint_light.c
===================================================================
--- 
branches/soc-2009-yukishiro/source/blender/editors/sculpt_paint/paint_light.c   
    2009-06-10 15:09:44 UTC (rev 20784)
+++ 
branches/soc-2009-yukishiro/source/blender/editors/sculpt_paint/paint_light.c   
    2009-06-10 15:13:05 UTC (rev 20785)
@@ -149,20 +149,19 @@
 }
 
 /************************ light paint poll ************************/
-
 static int light_paint_poll(bContext *C)
 {
-       if(CTX_wm_region_view3d(C)) return 1;
-
-       return 0;
-}
-
-static int lp_poll(bContext *C)
-{
        if(G.f & G_LIGHTPAINT) {
                ScrArea *sa= CTX_wm_area(C);
                if(sa->spacetype==SPACE_VIEW3D) {
                        ARegion *ar= CTX_wm_region(C);
+                        Object *ob = CTX_data_active_object(C);
+                        View3D *v3d= CTX_wm_view3d(C);
+                        short dt;
+
+                        dt = v3d->drawtype < ob->dt ? v3d->drawtype : ob->dt;
+                        if (dt != OB_SHADED) return 0;
+
                        if(ar->regiontype==RGN_TYPE_WINDOW)
                                return 1;
                }
@@ -170,6 +169,14 @@
        return 0;
 }
 
+static int light_paint_toggle_poll(bContext *C)
+{
+       if(CTX_data_active_object(C)==NULL)
+               return 0;
+
+       return 1;
+}
+
 /* Cursor */
 static void lp_drawcursor(bContext *C, int x, int y, void *customdata)
 {
@@ -197,7 +204,7 @@
                lp->paintcursor = NULL;
        }
        else {
-               lp->paintcursor= WM_paint_cursor_activate(CTX_wm_manager(C), 
lp_poll, lp_drawcursor, NULL);
+               lp->paintcursor= WM_paint_cursor_activate(CTX_wm_manager(C), 
light_paint_poll, lp_drawcursor, NULL);
         }
 }
 
@@ -541,7 +548,7 @@
        
        /* api callbacks */
        ot->exec= light_paint_toggle_exec;
-       ot->poll= light_paint_poll;
+       ot->poll= light_paint_toggle_poll;
 
        /* flags */
        ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
@@ -577,7 +584,7 @@
        ot->invoke= lpaint_radial_control_invoke;
        ot->modal= lpaint_radial_control_modal;
        ot->exec= lpaint_radial_control_exec;
-       ot->poll= lp_poll;
+       ot->poll= light_paint_poll;
        
        /* flags */
        ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;

Modified: 
branches/soc-2009-yukishiro/source/blender/editors/space_view3d/view3d_header.c
===================================================================
--- 
branches/soc-2009-yukishiro/source/blender/editors/space_view3d/view3d_header.c 
    2009-06-10 15:09:44 UTC (rev 20784)
+++ 
branches/soc-2009-yukishiro/source/blender/editors/space_view3d/view3d_header.c 
    2009-06-10 15:13:05 UTC (rev 20785)
@@ -154,7 +154,7 @@
        if(G.f & G_PARTICLEEDIT)
                WM_operator_name_call(C, "PARTICLE_OT_particle_edit_toggle", 
WM_OP_EXEC_REGION_WIN, NULL);
        
-       G.f &= 
~(G_VERTEXPAINT+G_TEXTUREPAINT+G_WEIGHTPAINT+G_SCULPTMODE+G_PARTICLEEDIT);
+       G.f &= 
~(G_VERTEXPAINT+G_TEXTUREPAINT+G_WEIGHTPAINT+G_LIGHTPAINT+G_SCULPTMODE+G_PARTICLEEDIT);
 }
 
 

Modified: 
branches/soc-2009-yukishiro/source/blender/makesdna/DNA_lightenv_types.h
===================================================================
--- branches/soc-2009-yukishiro/source/blender/makesdna/DNA_lightenv_types.h    
2009-06-10 15:09:44 UTC (rev 20784)
+++ branches/soc-2009-yukishiro/source/blender/makesdna/DNA_lightenv_types.h    
2009-06-10 15:13:05 UTC (rev 20785)
@@ -43,9 +43,10 @@
 
         short flag, type;
         float shcoeffs[25][3];
+
         light_func func;
         struct Image *probe_image; // image has preview
-
+        struct PreviewImage *preview;
        ScriptLink scriptlink;
 
 } LightEnv;


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

Reply via email to