Index: source/blender/src/editobject.c =================================================================== --- source/blender/src/editobject.c (Revision 16871) +++ source/blender/src/editobject.c (Arbeitskopie) @@ -2307,10 +2307,12 @@ if(mode==1) origval= la->spotsize; else if(mode==2) + origval= la->spotblend; + else if(mode==3) origval= la->dist; - else if(mode==3) + else if(mode==4) origval= la->clipsta; - else + else origval= la->clipend; while (keep_running>0) { @@ -2330,22 +2332,27 @@ /* do the trick */ - if(mode==1) { /* spot */ + if(mode==1) { /* size */ la->spotsize = ratio*origval; CLAMP(la->spotsize, 1.0f, 180.0f); sprintf(str, "Spot size %.2f\n", la->spotsize); } - else if(mode==2) { /* dist */ + else if(mode==2) { /* blend */ + la->spotblend = ratio*origval; + CLAMP(la->spotblend, 0.0f, 1.0f); + sprintf(str, "Spot blend %.2f\n", la->spotblend); + } + else if(mode==3) { /* dist */ la->dist = ratio*origval; CLAMP(la->dist, 0.01f, 5000.0f); sprintf(str, "Distance %.2f\n", la->dist); } - else if(mode==3) { /* sta */ + else if(mode==4) { /* clipsta */ la->clipsta = ratio*origval; CLAMP(la->clipsta, 0.001f, 5000.0f); sprintf(str, "Distance %.2f\n", la->clipsta); } - else if(mode==4) { /* end */ + else if(mode==5) { /* clipend */ la->clipend = ratio*origval; CLAMP(la->clipend, 0.1f, 5000.0f); sprintf(str, "Clip End %.2f\n", la->clipend); @@ -2388,9 +2395,11 @@ if(keep_running==0) { if(mode==1) la->spotsize= origval; - else if(mode==2) + else if(mode==2) + la->spotblend= origval; + else if(mode==3) la->dist= origval; - else if(mode==3) + else if(mode==4) la->clipsta= origval; else la->clipend= origval; @@ -2592,7 +2601,7 @@ else if (ob->type == OB_LAMP) { Lamp *la= ob->data; if(la->type==LA_SPOT) { - short nr= pupmenu("Lamp Tools%t|Spot Size%x1|Distance%x2|Clip Start%x3|Clip End%x4"); + short nr= pupmenu("Lamp Tools%t|Spot Size%x1|Spot Blend%x2|Distance%x3|Clip Start%x4|Clip End%x5"); if(nr>0) spot_interactive(ob, nr); }