Revision: 14490
          
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=14490
Author:   campbellbarton
Date:     2008-04-20 20:26:06 +0200 (Sun, 20 Apr 2008)

Log Message:
-----------
merge from trunk + some own stuff commented

Modified Paths:
--------------
    branches/apricot/intern/elbeem/intern/ntl_vector3dim.h
    branches/apricot/intern/elbeem/intern/solver_util.cpp
    branches/apricot/source/blender/include/BIF_toolbox.h
    branches/apricot/source/blender/render/intern/source/pipeline.c
    branches/apricot/source/blender/render/intern/source/rendercore.c
    branches/apricot/source/blender/render/intern/source/shadeoutput.c
    branches/apricot/source/blender/src/editmesh.c
    branches/apricot/source/blender/src/toolbox.c
    branches/apricot/source/blender/src/transform_conversions.c
    branches/apricot/source/blender/src/transform_generics.c
    branches/apricot/source/gameengine/GameLogic/SCA_IScene.cpp
    branches/apricot/source/gameengine/GameLogic/SCA_IScene.h
    branches/apricot/source/gameengine/Ketsji/KX_NearSensor.cpp
    branches/apricot/source/gameengine/Ketsji/KX_NearSensor.h
    branches/apricot/source/gameengine/Ketsji/KX_Scene.cpp
    branches/apricot/source/gameengine/Ketsji/KX_TouchSensor.cpp

Modified: branches/apricot/intern/elbeem/intern/ntl_vector3dim.h
===================================================================
--- branches/apricot/intern/elbeem/intern/ntl_vector3dim.h      2008-04-20 
18:19:15 UTC (rev 14489)
+++ branches/apricot/intern/elbeem/intern/ntl_vector3dim.h      2008-04-20 
18:26:06 UTC (rev 14490)
@@ -833,7 +833,7 @@
 //#define vecGfx2F(x) (x)
 //#define vecD2Gfx(x) vecD2F(x)
 //#define vecGfx2D(x) vecF2D(x)
-#define VECTOR_EPSILON (1.192092896e-07F)
+#define VECTOR_EPSILON (1e-5f)
 #else
 typedef double gfxReal;
 #define GFX_REAL_MAX __DBL_MAX__
@@ -841,7 +841,7 @@
 //#define vecGfx2F(x) vecF2D(x)
 //#define vecD2Gfx(x) (x)
 //#define vecGfx2D(x) (x)
-#define VECTOR_EPSILON (2.2204460492503131e-016)
+#define VECTOR_EPSILON (1e-10)
 #endif
 
 /* fixed double prec. type, for epxlicitly double values */

Modified: branches/apricot/intern/elbeem/intern/solver_util.cpp
===================================================================
--- branches/apricot/intern/elbeem/intern/solver_util.cpp       2008-04-20 
18:19:15 UTC (rev 14489)
+++ branches/apricot/intern/elbeem/intern/solver_util.cpp       2008-04-20 
18:26:06 UTC (rev 14490)
@@ -40,7 +40,7 @@
        int mainGravDir=6; // if normalizing fails, we asume z-direction gravity
        LbmFloat mainGravLen = 0.;
        FORDF1{
-               LbmFloat thisGravLen = 
dot(LbmVec(dfVecX[l],dfVecY[l],dfVecZ[l]), 
getNormalized(mLevel[mMaxRefine].gravity) );  
+               LbmFloat thisGravLen = 
dot(LbmVec(dfVecX[l],dfVecY[l],dfVecZ[l]), mLevel[mMaxRefine].gravity ); 
                if(thisGravLen>mainGravLen) {
                        mainGravLen = thisGravLen;
                        mainGravDir = l;

Modified: branches/apricot/source/blender/include/BIF_toolbox.h
===================================================================
--- branches/apricot/source/blender/include/BIF_toolbox.h       2008-04-20 
18:19:15 UTC (rev 14489)
+++ branches/apricot/source/blender/include/BIF_toolbox.h       2008-04-20 
18:26:06 UTC (rev 14490)
@@ -47,7 +47,7 @@
 
 short button (short *var, short min, short max, char *str);
 short fbutton (float *var, float min, float max, float a1, float a2, char 
*str);
-short sbutton (char *var, float min, float max, char *str);    /* __NLA */
+short sbutton (char *var, short min, short max, char *str);    /* __NLA */
 
 int movetolayer_buts (unsigned int *lay, char *title);
 int movetolayer_short_buts (short *lay, char *title);

Modified: branches/apricot/source/blender/render/intern/source/pipeline.c
===================================================================
--- branches/apricot/source/blender/render/intern/source/pipeline.c     
2008-04-20 18:19:15 UTC (rev 14489)
+++ branches/apricot/source/blender/render/intern/source/pipeline.c     
2008-04-20 18:26:06 UTC (rev 14490)
@@ -870,7 +870,7 @@
        
        printf("read exr tmp file: %s\n", str);
        
-       if(rectx!=re->result->rectx || recty!=re->result->recty) {
+       if(re->result == NULL || rectx!=re->result->rectx || 
recty!=re->result->recty) {
                printf("error in reading render result\n");
        }
        else {

Modified: branches/apricot/source/blender/render/intern/source/rendercore.c
===================================================================
--- branches/apricot/source/blender/render/intern/source/rendercore.c   
2008-04-20 18:19:15 UTC (rev 14489)
+++ branches/apricot/source/blender/render/intern/source/rendercore.c   
2008-04-20 18:26:06 UTC (rev 14490)
@@ -1447,6 +1447,8 @@
        rl= rr->layers.first;
        ssamp.shi[0].passflag |= SCE_PASS_RGBA|SCE_PASS_COMBINED;
        ssamp.shi[0].combinedflag &= ~(SCE_PASS_SPEC);
+       ssamp.shi[0].mat_override= NULL;
+       ssamp.shi[0].light_override= NULL;
        lay= ssamp.shi[0].lay;
 
        /* create the pixelstrs to be used later */

Modified: branches/apricot/source/blender/render/intern/source/shadeoutput.c
===================================================================
--- branches/apricot/source/blender/render/intern/source/shadeoutput.c  
2008-04-20 18:19:15 UTC (rev 14489)
+++ branches/apricot/source/blender/render/intern/source/shadeoutput.c  
2008-04-20 18:26:06 UTC (rev 14490)
@@ -1303,7 +1303,7 @@
        }
        
        /* 'is' is diffuse */
-       if((ma->shade_flag & MA_CUBIC) && is>0.0f)
+       if((ma->shade_flag & MA_CUBIC) && is>0.0f && is<1.0f)
                is= 3.0*is*is - 2.0*is*is*is;   // nicer termination of shades
 
        i= is*phongcorr;

Modified: branches/apricot/source/blender/src/editmesh.c
===================================================================
--- branches/apricot/source/blender/src/editmesh.c      2008-04-20 18:19:15 UTC 
(rev 14489)
+++ branches/apricot/source/blender/src/editmesh.c      2008-04-20 18:26:06 UTC 
(rev 14490)
@@ -1010,20 +1010,20 @@
                                /* select and hide face flag */
                                if(mface->flag & ME_HIDE) {
                                        efa->h= 1;
-                               /* dont allow hidden and selected */
-                               } else if(mface->flag & ME_FACE_SEL) {
-                                       efa->f |= SELECT;
-                                       
-                                       /* only allow selected face to be 
active */
+                               } else {
                                        if (a==me->act_face) {
                                                EM_set_actFace(efa);
                                        }
                                        
-                                       if(FACESEL_PAINT_TEST) {
-                                               EM_select_face(efa, 1); /* 
flush down */
+                                       /* dont allow hidden and selected */
+                                       if(mface->flag & ME_FACE_SEL) {
+                                               efa->f |= SELECT;
+                                               
+                                               if(FACESEL_PAINT_TEST) {
+                                                       EM_select_face(efa, 1); 
/* flush down */
+                                               }
                                        }
                                }
-                               
                        }
                }
        }

Modified: branches/apricot/source/blender/src/toolbox.c
===================================================================
--- branches/apricot/source/blender/src/toolbox.c       2008-04-20 18:19:15 UTC 
(rev 14489)
+++ branches/apricot/source/blender/src/toolbox.c       2008-04-20 18:26:06 UTC 
(rev 14490)
@@ -291,13 +291,14 @@
        return 0;
 }
 
-short sbutton(char *var, float min, float max, char *str)
+short sbutton(char *var, short min, short max, char *str)
 {
        uiBlock *block;
        ListBase listb={0, 0};
        short x1,y1;
        short mval[2], ret=0;
-
+       char *editvar = NULL; /* dont edit the original text, incase we cancel 
the popup */
+       
        if(min>max) min= max;
 
        getmouseco_sc(mval);
@@ -313,7 +314,10 @@
        x1=mval[0]-250; 
        y1=mval[1]-20; 
        
-       uiDefButC(block, TEX, 32766, str,       x1+5,y1+10,225,20, 
var,(float)min,(float)max, 0, 0, "");
+       editvar = MEM_callocN(max, "sbutton");
+       BLI_strncpy(editvar, var, max);
+       
+       uiDefButC(block, TEX, 32766, str,       x1+5,y1+10,225,20, 
editvar,(float)min,(float)max, 0, 0, "");
        uiDefBut(block, BUT, 32767, "OK",       x1+236,y1+10,25,20, NULL, 0, 0, 
0, 0, "");
 
        uiBoundsBlock(block, 5);
@@ -321,7 +325,12 @@
        mainqenter_ext(BUT_ACTIVATE, 32766, 0); /* note, button id '32766' is 
asking for errors some day! */
        ret= uiDoBlocks(&listb, 0, 0);
 
-       if(ret==UI_RETURN_OK) return 1;
+       if(ret==UI_RETURN_OK) {
+               BLI_strncpy(var, editvar, max);
+               MEM_freeN(editvar);
+               return 1;
+       }
+       MEM_freeN(editvar);
        return 0;
        
 }

Modified: branches/apricot/source/blender/src/transform_conversions.c
===================================================================
--- branches/apricot/source/blender/src/transform_conversions.c 2008-04-20 
18:19:15 UTC (rev 14489)
+++ branches/apricot/source/blender/src/transform_conversions.c 2008-04-20 
18:26:06 UTC (rev 14490)
@@ -3428,10 +3428,74 @@
        int cancelled= (t->state == TRANS_CANCEL);
        
        if (t->spacetype==SPACE_VIEW3D) {
-               EM_automerge(1);
-               /* when snapping, delay retopo until after automerge */
-               if (G.qual & LR_CTRLKEY) {
-                       retopo_do_all();
+               if (G.obedit) {
+                       if (cancelled==0) {
+                               EM_automerge(1);
+                               /* when snapping, delay retopo until after 
automerge */
+                               if (G.qual & LR_CTRLKEY) {
+                                       retopo_do_all();
+                               }
+                       }
+#if 0
+               } else {
+                       /* APRICOT HACK */
+                       float pmat[4][4], vmat[4][4];
+                       short s[2];
+                       View3D *v3d = G.vd;
+                       
+                       /* --- Make external func --- */
+                       
+                       /* ZBuffer depth vars */
+                       bglMats mats;
+                       float depth, depth_close= MAXFLOAT;
+                       int had_depth = 0;
+                       double cent[2],  p[3];
+                       int xs, ys;
+                       
+                       persp(PERSP_VIEW);
+                       
+                       /* Get Z Depths, needed for perspective, nice for ortho 
*/
+                       bgl_get_mats(&mats);
+                       draw_depth(curarea, (void *)G.vd);
+                       
+                       /* force updating */
+                       if (v3d->depths) {
+                               had_depth = 1;
+                               v3d->depths->damaged = 1;
+                       }
+                       
+                       view3d_update_depths(v3d);
+                       
+                       /* we have depths now*/                 
+                       for (base=G.scene->base.first; base; base=base->next) {
+                               /* object mode */
+                               if (TESTBASELIB(base)) {
+                                       ob = base->object;
+                                       project_short(ob->loc, s);
+                                       
+                                       if (s[0] != IS_CLIPPED) {
+                                               cent[0] = (double)s[0];
+                                               cent[1] = (double)s[1];
+                                               depth_close= 
v3d->depths->depths[s[1]*v3d->depths->w+s[0]];
+                                               if (!gluUnProject(cent[0], 
cent[1], depth_close, mats.modelview, mats.projection, mats.viewport, &p[0], 
&p[1], &p[2])) {
+                                                       /* do nothing */
+                                               } else {
+                                                       ob->loc[0] = 
(float)p[0];
+                                                       ob->loc[1] = 
(float)p[1];
+                                                       ob->loc[2] = 
(float)p[2];
+                                               }
+                                       }
+                               }
+                       }
+                       
+                       if (had_depth==0) {
+                               MEM_freeN(v3d->depths->depths);
+                               v3d->depths->depths = NULL;
+                       }
+                       v3d->depths->damaged = 1;
+                       
+                       /* --- */
+#endif
                }
        }
        if (t->spacetype == SPACE_ACTION) {

Modified: branches/apricot/source/blender/src/transform_generics.c
===================================================================
--- branches/apricot/source/blender/src/transform_generics.c    2008-04-20 
18:19:15 UTC (rev 14489)
+++ branches/apricot/source/blender/src/transform_generics.c    2008-04-20 
18:26:06 UTC (rev 14490)
@@ -378,14 +378,14 @@
                                if (G.sima->flag & SI_LIVE_UNWRAP)
                                        unwrap_lscm_live_re_solve();
                        } else {
-                               /* Only retopo if not snapping, Note, this is 
the only case of G.qual being used, but we have no T_SHIFT_MOD - Campbell */
-                               if ((G.qual & LR_CTRLKEY)==0)
-                                       retopo_do_all();
-       
                                /* mirror modifier clipping? */
-                               if(t->state != TRANS_CANCEL)
+                               if(t->state != TRANS_CANCEL) {
+                                       if ((G.qual & LR_CTRLKEY)==0) {
+                                               /* Only retopo if not snapping, 
Note, this is the only case of G.qual being used, but we have no T_SHIFT_MOD - 
Campbell */
+                                               retopo_do_all();
+                                       }
                                        clipMirrorModifier(t, G.obedit);
-                               
+                               }
                                if((t->context & CTX_NO_MIRROR) == 0 && 
(G.scene->toolsettings->editbutflag & B_MESH_X_MIRROR))
                                        editmesh_apply_to_mirror(t);
                                

Modified: branches/apricot/source/gameengine/GameLogic/SCA_IScene.cpp
===================================================================
--- branches/apricot/source/gameengine/GameLogic/SCA_IScene.cpp 2008-04-20 
18:19:15 UTC (rev 14489)
+++ branches/apricot/source/gameengine/GameLogic/SCA_IScene.cpp 2008-04-20 
18:26:06 UTC (rev 14490)
@@ -47,19 +47,23 @@
 {
 }
 
-
-
-SCA_IScene::~SCA_IScene()
+void SCA_IScene::RemoveAllDebugProperties()
 {
-       // release debugprop list

@@ Diff output truncated at 10240 characters. @@

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

Reply via email to