style cleanup: (indentation)
authorCampbell Barton <ideasman42@gmail.com>
Wed, 6 Jun 2012 14:48:39 +0000 (14:48 +0000)
committerCampbell Barton <ideasman42@gmail.com>
Wed, 6 Jun 2012 14:48:39 +0000 (14:48 +0000)
18 files changed:
source/blender/blenkernel/intern/editderivedmesh.c
source/blender/blenkernel/intern/mesh.c
source/blender/blenkernel/intern/navmesh_conversion.c
source/blender/blenlib/intern/freetypefont.c
source/blender/blenloader/intern/readfile.c
source/blender/editors/sculpt_paint/paint_mask.c
source/blender/editors/sculpt_paint/paint_stroke.c
source/blender/editors/sculpt_paint/sculpt.c
source/blender/editors/space_clip/space_clip.c
source/blender/editors/space_logic/logic_window.c
source/blender/editors/space_view3d/drawobject.c
source/blender/editors/transform/transform.c
source/blender/editors/transform/transform_conversions.c
source/blender/makesrna/intern/rna_access.c
source/blender/makesrna/intern/rna_brush.c
source/blender/nodes/composite/nodes/node_composite_math.c
source/blender/python/intern/bpy_rna.c
source/blender/render/intern/source/convertblender.c

index 335758fec111227f72518c198bcedddad53d9794..32c6caffff75d15e04526467fc0cd6dbb2172967 100644 (file)
@@ -1697,8 +1697,8 @@ DerivedMesh *getEditDerivedBMesh(BMEditMesh *em,
 
                BM_ITER_MESH_INDEX (eve, &iter, bmdm->tc->bm, BM_VERTS_OF_MESH, i) {
                        DM_set_vert_data(&bmdm->dm, i, CD_MVERT_SKIN,
-                                                        CustomData_bmesh_get(&bm->vdata, eve->head.data,
-                                                                                                 CD_MVERT_SKIN));
+                                        CustomData_bmesh_get(&bm->vdata, eve->head.data,
+                                                             CD_MVERT_SKIN));
                }
        }
 
index 5db565d343cf786f6c7faa655afd62034e830312..ed93f27fe5ced4b2b69629482f3eb56b4d715fa7 100644 (file)
@@ -2041,8 +2041,8 @@ void BKE_mesh_convert_mfaces_to_mpolys(Mesh *mesh)
 void BKE_mesh_convert_mfaces_to_mpolys_ex(ID *id, CustomData *fdata, CustomData *ldata, CustomData *pdata,
                                           int totedge_i, int totface_i, int totloop_i, int totpoly_i,
                                           MEdge *medge, MFace *mface,
-                                                                                 int *totloop_r, int *totpoly_r,
-                                                                                 MLoop **mloop_r, MPoly **mpoly_r)
+                                          int *totloop_r, int *totpoly_r,
+                                          MLoop **mloop_r, MPoly **mpoly_r)
 {
        MFace *mf;
        MLoop *ml, *mloop;
index 24382b3bf91ab06f3e85f157e45e28c29a7827e6..a21878d1d7d8ad4599964aad5adf924ceed0a443 100644 (file)
@@ -307,15 +307,15 @@ struct SortContext
 static int compareByData(void *ctx, const void * a, const void * b)
 {
        return (((struct SortContext *)ctx)->recastData[((struct SortContext *)ctx)->trisToFacesMap[*(int*)a]] -
-                       ((struct SortContext *)ctx)->recastData[((struct SortContext *)ctx)->trisToFacesMap[*(int*)b]] );
+               ((struct SortContext *)ctx)->recastData[((struct SortContext *)ctx)->trisToFacesMap[*(int*)b]] );
 }
 
 int buildNavMeshData(const int nverts, const float* verts, 
-                                                        const int ntris, const unsigned short *tris, 
-                                                        const int* recastData, const int* trisToFacesMap,
-                                                        int *ndtris_r, unsigned short **dtris_r,
-                                                        int *npolys_r, unsigned short **dmeshes_r, unsigned short **polys_r,
-                                                        int *vertsPerPoly_r, int **dtrisToPolysMap_r, int **dtrisToTrisMap_r)
+                     const int ntris, const unsigned short *tris,
+                     const int* recastData, const int* trisToFacesMap,
+                     int *ndtris_r, unsigned short **dtris_r,
+                     int *npolys_r, unsigned short **dmeshes_r, unsigned short **polys_r,
+                     int *vertsPerPoly_r, int **dtrisToPolysMap_r, int **dtrisToTrisMap_r)
 
 {
        int *trisMapping;
index da07bb156d7aa8c7f4406dd4dc8d5557098ee296..ef2eb25a891fa02cbb6dd8f53944778f934dfd22 100644 (file)
@@ -614,7 +614,7 @@ font driver produces such outlines.
    #               \
                                        #
 
-        Two "on" points
+     Two "on" points
    and two "cubic" point
          between them
 
index f9200f83997a2495059c6f038d02785cbaaacf37..f1150d8f00af95eae19d2d6ad1cb7c984cf3b177 100644 (file)
@@ -3978,7 +3978,7 @@ static void direct_link_latt(FileData *fd, Lattice *lt)
 /* ************ READ OBJECT ***************** */
 
 static void lib_link_modifiers__linkModifiers(void *userData, Object *ob,
-                                                                                         ID **idpoin)
+                                              ID **idpoin)
 {
        FileData *fd = userData;
 
@@ -8441,7 +8441,7 @@ static void expand_armature(FileData *fd, Main *mainvar, bArmature *arm)
 }
 
 static void expand_object_expandModifiers(void *userData, Object *UNUSED(ob),
-                                                                                         ID **idpoin)
+                                          ID **idpoin)
 {
        struct { FileData *fd; Main *mainvar; } *data= userData;
        
index 298ecf764d6867e3dd5a0c6254e93f5f30f045f8..e309bdb99cbe86f1508ccaf6b928da1218dc5a02 100644 (file)
 #include <stdlib.h>
 
 static void mask_flood_fill_set_elem(float *elem,
-                                                                        PaintMaskFloodMode mode,
-                                                                        float value)
+                                     PaintMaskFloodMode mode,
+                                     float value)
 {
        switch (mode) {
-       case PAINT_MASK_FLOOD_VALUE:
-               (*elem) = value;
-               break;
-       case PAINT_MASK_INVERT:
-               (*elem) = 1.0f - (*elem);
-               break;
+               case PAINT_MASK_FLOOD_VALUE:
+                       (*elem) = value;
+                       break;
+               case PAINT_MASK_INVERT:
+                       (*elem) = 1.0f - (*elem);
+                       break;
        }
 }
 
index e36056e0fd9af4506bc93f42029306a9bf197580..b53edeadb5123d7740de8fab5f21a32a67f21fa5 100644 (file)
@@ -203,10 +203,10 @@ static int paint_smooth_stroke(PaintStroke *stroke, float output[2],
 
        if ((stroke->brush->flag & BRUSH_SMOOTH_STROKE) &&  
            !ELEM4(stroke->brush->sculpt_tool,
-                          SCULPT_TOOL_GRAB,
-                          SCULPT_TOOL_THUMB,
-                          SCULPT_TOOL_ROTATE,
-                          SCULPT_TOOL_SNAKE_HOOK) &&
+                  SCULPT_TOOL_GRAB,
+                  SCULPT_TOOL_THUMB,
+                  SCULPT_TOOL_ROTATE,
+                  SCULPT_TOOL_SNAKE_HOOK) &&
            !(stroke->brush->flag & BRUSH_ANCHORED) &&
            !(stroke->brush->flag & BRUSH_RESTORE_MESH))
        {
@@ -359,12 +359,12 @@ struct wmKeyMap *paint_stroke_modal_keymap(struct wmKeyConfig *keyconf)
 }
 
 static void paint_stroke_add_sample(const Paint *paint,
-                                                                       PaintStroke *stroke,
-                                                                       float x, float y)
+                                    PaintStroke *stroke,
+                                    float x, float y)
 {
        PaintSample *sample = &stroke->samples[stroke->cur_sample];
        int max_samples = MIN2(PAINT_MAX_INPUT_SAMPLES,
-                                                  MAX2(paint->num_input_samples, 1));
+                              MAX2(paint->num_input_samples, 1));
 
        sample->mouse[0] = x;
        sample->mouse[1] = y;
@@ -377,7 +377,7 @@ static void paint_stroke_add_sample(const Paint *paint,
 }
 
 static void paint_stroke_sample_average(const PaintStroke *stroke,
-                                                                               PaintSample *average)
+                                        PaintSample *average)
 {
        int i;
        
index 7b8337ff95746b21791b70b9436b756f2f1e1d4c..e069a6b9663e5d43573542aad8fc64c7691fe2fd 100644 (file)
@@ -981,8 +981,8 @@ static void calc_area_normal(Sculpt *sd, Object *ob, float an[3], PBVHNode **nod
 
 /* Calculate primary direction of movement for many brushes */
 static void calc_sculpt_normal(Sculpt *sd, Object *ob,
-                                                          PBVHNode **nodes, int totnode,
-                                                          float an[3])
+                               PBVHNode **nodes, int totnode,
+                               float an[3])
 {
        const Brush *brush = paint_brush(&sd->paint);
        const SculptSession *ss = ob->sculpt;
@@ -990,8 +990,8 @@ static void calc_sculpt_normal(Sculpt *sd, Object *ob,
        switch (brush->sculpt_plane) {
                case SCULPT_DISP_DIR_VIEW:
                        ED_view3d_global_to_vector(ss->cache->vc->rv3d,
-                                                                          ss->cache->vc->rv3d->twmat[3],
-                                                                          an);
+                                                  ss->cache->vc->rv3d->twmat[3],
+                               an);
                        break;
 
                case SCULPT_DISP_DIR_X:
@@ -1021,7 +1021,7 @@ static void calc_sculpt_normal(Sculpt *sd, Object *ob,
 }
 
 static void update_sculpt_normal(Sculpt *sd, Object *ob,
-                                                                PBVHNode **nodes, int totnode)
+                                 PBVHNode **nodes, int totnode)
 {
        const Brush *brush = paint_brush(&sd->paint);
        StrokeCache *cache = ob->sculpt->cache;
@@ -1056,7 +1056,7 @@ static void calc_local_y(ViewContext *vc, const float center[3], float y[3])
 }
 
 static void calc_brush_local_mat(const Brush *brush, Object *ob,
-                                                                float local_mat[4][4])
+                                 float local_mat[4][4])
 {
        const StrokeCache *cache = ob->sculpt->cache;
        float tmat[4][4];
@@ -1105,10 +1105,10 @@ static void update_brush_local_mat(Sculpt *sd, Object *ob)
        StrokeCache *cache = ob->sculpt->cache;
 
        if (cache->mirror_symmetry_pass == 0 &&
-               cache->radial_symmetry_pass == 0)
+           cache->radial_symmetry_pass == 0)
        {
                calc_brush_local_mat(paint_brush(&sd->paint), ob,
-                                                        cache->brush_local_mat);
+                                    cache->brush_local_mat);
        }
 }
 
index 0cdd7f62c46d270afe9b717b1e7881f3b6e6fcd8..92ba194c8e17d2ddfd4438d07d7762672dea1b76 100644 (file)
@@ -392,7 +392,7 @@ static void clip_listener(ScrArea *sa, wmNotifier *wmn)
                                        break;
                        }
                        break;
-                case NC_SCREEN:
+               case NC_SCREEN:
                        if (wmn->data == ND_ANIMPLAY) {
                                ED_area_tag_redraw(sa);
                        }
index dd21fca93ce6874f9c1961b0bb85dcf5d5c39337..0eec61f599eec46b9aaa3d656672c13a2811b51d 100644 (file)
@@ -1151,155 +1151,155 @@ static short draw_sensorbuttons(Object *ob, bSensor *sens, uiBlock *block, short
        uiBut *but;
        short ysize;
        const char *str;
-       
+
        /* yco is at the top of the rect, draw downwards */
-       
+
        set_col_sensor(sens->type, 0);
-       
+
        switch (sens->type) {
-       case SENS_ALWAYS:
+               case SENS_ALWAYS:
                {
                        ysize= 24;
-                       
+
                        glRects(xco, yco-ysize, xco+width, yco);
                        uiEmboss((float)xco, (float)yco-ysize, (float)xco+width, (float)yco, 1);
-                       
+
                        draw_default_sensor_header(sens, block, xco, yco, width);
-                       
+
                        yco-= ysize;
-                       
+
                        break;
                }
-       case SENS_TOUCH:
+               case SENS_TOUCH:
                {
-                       ysize= 48; 
-                       
-                       glRects(xco, yco-ysize, xco+width, yco); 
-                       uiEmboss((float)xco, (float)yco-ysize, (float)xco+width, (float)yco, 1); 
-                       
+                       ysize= 48;
+
+                       glRects(xco, yco-ysize, xco+width, yco);
+                       uiEmboss((float)xco, (float)yco-ysize, (float)xco+width, (float)yco, 1);
+
                        draw_default_sensor_header(sens, block, xco, yco, width);
-                       
-                       ts= sens->data; 
-                       
+
+                       ts= sens->data;
+
                        // uiDefBut(block, TEX, 1, "Property:", xco, yco-22, width, 19, &ts->name, 0, MAX_NAME, 0, 0, "Only look for Objects with this property");
                        uiDefIDPoinBut(block, test_matpoin_but, ID_MA, 1, "MA:", (short)(xco + 10), (short)(yco-44), (short)(width - 20), 19, &ts->ma,  "Only look for floors with this Material");
                        // uiDefButF(block, NUM, 1, "Margin:",  xco+width/2, yco-44, width/2, 19, &ts->dist, 0.0, 10.0, 100, 0, "Extra margin (distance) for larger sensitivity");
-                       yco-= ysize; 
-                       break; 
+                       yco-= ysize;
+                       break;
                }
-       case SENS_COLLISION:
+               case SENS_COLLISION:
                {
                        ysize= 48;
-                       
+
                        glRects(xco, yco-ysize, xco+width, yco);
                        uiEmboss((float)xco, (float)yco-ysize, (float)xco+width, (float)yco, 1);
-                       
+
                        draw_default_sensor_header(sens, block, xco, yco, width);
                        cs= sens->data;
-                       
+
                        /* The collision sensor will become a generic collision (i.e. it     */
                        /* absorb the old touch sensor).                                     */
 
                        uiDefButBitS(block, TOG, SENS_COLLISION_PULSE, B_REDR, "Pulse", (short)(xco + 10), (short)(yco - 44),
-                               (short)(0.20 * (width-20)), 19, &cs->mode, 0.0, 0.0, 0, 0,
-                               "Changes to the set of colliding objects generated pulses");
-                       
+                                    (short)(0.20 * (width-20)), 19, &cs->mode, 0.0, 0.0, 0, 0,
+                                    "Changes to the set of colliding objects generated pulses");
+
                        uiDefButBitS(block, TOG, SENS_COLLISION_MATERIAL, B_REDR, "M/P", (short)(xco + 10 + (0.20 * (width-20))), (short)(yco - 44),
-                               (short)(0.20 * (width-20)), 19, &cs->mode, 0.0, 0.0, 0, 0,
-                               "Toggle collision on material or property");
-                       
+                                    (short)(0.20 * (width-20)), 19, &cs->mode, 0.0, 0.0, 0, 0,
+                                    "Toggle collision on material or property");
+
                        if (cs->mode & SENS_COLLISION_MATERIAL) {
                                uiDefBut(block, TEX, 1, "Material:", (short)(xco + 10 + 0.40 * (width-20)),
-                                       (short)(yco-44), (short)(0.6*(width-20)), 19, &cs->materialName, 0, MAX_NAME, 0, 0,
-                                       "Only look for Objects with this material");
+                                        (short)(yco-44), (short)(0.6*(width-20)), 19, &cs->materialName, 0, MAX_NAME, 0, 0,
+                                        "Only look for Objects with this material");
                        }
                        else {
                                uiDefBut(block, TEX, 1, "Property:", (short)(xco + 10 + 0.40 * (width-20)), (short)(yco-44),
-                                       (short)(0.6*(width-20)), 19, &cs->name, 0, MAX_NAME, 0, 0,
-                                       "Only look for Objects with this property");
+                                        (short)(0.6*(width-20)), 19, &cs->name, 0, MAX_NAME, 0, 0,
+                                        "Only look for Objects with this property");
                        }
-       
+
                        /* uiDefButS(block, NUM, 1, "Damp:",    xco+10+width-90, yco-24, 70, 19, &cs->damp, 0, 250, 0, 0, "For 'damp' time don't detect another collision"); */
-                       
+
                        yco-= ysize;
                        break;
                }
-       case SENS_NEAR:
+               case SENS_NEAR:
                {
                        ysize= 72;
-                       
+
                        glRects(xco, yco-ysize, xco+width, yco);
                        uiEmboss((float)xco, (float)yco-ysize, (float)xco+width, (float)yco, 1);
-                       
+
                        draw_default_sensor_header(sens, block, xco, yco, width);
                        ns= sens->data;
-                       
+
                        uiDefBut(block, TEX, 1, "Property:", (short)(10+xco), (short)(yco-44), (short)(width-20), 19,
-                               &ns->name, 0, MAX_NAME, 0, 0, "Only look for Objects with this property");
+                                &ns->name, 0, MAX_NAME, 0, 0, "Only look for Objects with this property");
                        uiDefButF(block, NUM, 1, "Dist", (short)(10+xco), (short)(yco-68), (short)((width-22)/2), 19,
-                               &ns->dist, 0.0, 1000.0, 1000, 0, "Trigger distance");
+                                 &ns->dist, 0.0, 1000.0, 1000, 0, "Trigger distance");
                        uiDefButF(block, NUM, 1, "Reset", (short)(10+xco+(width-22)/2), (short)(yco-68), (short)((width-22)/2), 19,
-                               &ns->resetdist, 0.0, 1000.0, 1000, 0, "Reset distance"); 
+                                 &ns->resetdist, 0.0, 1000.0, 1000, 0, "Reset distance");
                        yco-= ysize;
                        break;
                }
-       case SENS_RADAR:
+               case SENS_RADAR:
                {
-                       ysize= 72; 
-                       
+                       ysize= 72;
+
                        glRects(xco, yco-ysize, xco+width, yco);
                        uiEmboss((float)xco, (float)yco-ysize, (float)xco+width, (float)yco, 1);
-                       
+
                        draw_default_sensor_header(sens, block, xco, yco, width);
-                       
+
                        rs= sens->data;
-                       
+
                        uiDefBut(block, TEX, 1, "Prop:",
-                                        (short)(10+xco), (short)(yco-44), (short)(0.7 * (width-20)), 19,
-                                        &rs->name, 0, MAX_NAME, 0, 0,
-                                        "Only look for Objects with this property");
+                                (short)(10+xco), (short)(yco-44), (short)(0.7 * (width-20)), 19,
+                                &rs->name, 0, MAX_NAME, 0, 0,
+                                "Only look for Objects with this property");
 
-                       str = "Type %t|+X axis %x0|+Y axis %x1|+Z axis %x2|-X axis %x3|-Y axis %x4|-Z axis %x5"; 
+                       str = "Type %t|+X axis %x0|+Y axis %x1|+Z axis %x2|-X axis %x3|-Y axis %x4|-Z axis %x5";
                        uiDefButS(block, MENU, B_REDR, str,
-                               (short)(10+xco+0.7 * (width-20)), (short)(yco-44), (short)(0.3 * (width-22)), 19,
-                               &rs->axis, 2.0, 31, 0, 0,
-                               "Specify along which axis the radar cone is cast");
-                               
+                                 (short)(10+xco+0.7 * (width-20)), (short)(yco-44), (short)(0.3 * (width-22)), 19,
+                                 &rs->axis, 2.0, 31, 0, 0,
+                                 "Specify along which axis the radar cone is cast");
+
                        uiDefButF(block, NUM, 1, "Ang:",
-                                        (short)(10+xco), (short)(yco-68), (short)((width-20)/2), 19,
-                                        &rs->angle, 0.0, 179.9, 10, 0,
-                                        "Opening angle of the radar cone");
+                                 (short)(10+xco), (short)(yco-68), (short)((width-20)/2), 19,
+                                 &rs->angle, 0.0, 179.9, 10, 0,
+                                 "Opening angle of the radar cone");
                        uiDefButF(block, NUM, 1, "Dist:",
-                                        (short)(xco+10 + (width-20)/2), (short)(yco-68), (short)((width-20)/2), 19,
-                                        &rs->range, 0.01, 10000.0, 100, 0,
-                                        "Depth of the radar cone");
+                                 (short)(xco+10 + (width-20)/2), (short)(yco-68), (short)((width-20)/2), 19,
+                                 &rs->range, 0.01, 10000.0, 100, 0,
+                                 "Depth of the radar cone");
                        yco-= ysize;
                        break;
                }
-       case SENS_KEYBOARD:
+               case SENS_KEYBOARD:
                {
                        ks= sens->data;
-                       
+
                        /* 5 lines: 120 height */
                        ysize= (ks->type&1) ? 96:120;
-                       
+
                        glRects(xco, yco-ysize, xco+width, yco);
                        uiEmboss((float)xco, (float)yco-ysize, (float)xco+width, (float)yco, 1);
-                       
+
                        /* header line */
                        draw_default_sensor_header(sens, block, xco, yco, width);
-                       
+
                        /* part of line 1 */
                        uiDefBut(block, LABEL, 0, "Key",          xco, yco-44, 40, 19, NULL, 0, 0, 0, 0, "");
                        uiDefButBitS(block, TOG, 1, B_REDR, "All keys",   xco+40+(width/2), yco-44, (width/2)-50, 19,
-                               &ks->type, 0, 0, 0, 0, "");
-                       
-                       
+                                    &ks->type, 0, 0, 0, 0, "");
+
+
                        if ((ks->type&1)==0) { /* is All Keys option off? */
                                /* line 2: hotkey and allkeys toggle */
                                but = uiDefKeyevtButS(block, 0, "", xco+40, yco-44, (width)/2, 19, &ks->key, "Key code");
                                uiButSetFunc(but, test_keyboard_event, ks, NULL);
-                               
+
                                /* line 3: two key modifyers (qual1, qual2) */
                                uiDefBut(block, LABEL, 0, "Hold",         xco, yco-68, 40, 19, NULL, 0, 0, 0, 0, "");
                                but = uiDefKeyevtButS(block, 0, "", xco+40, yco-68, (width-50)/2, 19, &ks->qual, "Modifier key code");
@@ -1307,50 +1307,50 @@ static short draw_sensorbuttons(Object *ob, bSensor *sens, uiBlock *block, short
                                but = uiDefKeyevtButS(block, 0, "", xco+40+(width-50)/2, yco-68, (width-50)/2, 19, &ks->qual2, "Second Modifier key code");
                                uiButSetFunc(but, test_keyboard_event, ks, NULL);
                        }
-                       
+
                        /* line 4: toggle property for string logging mode */
                        uiDefBut(block, TEX, 1, "LogToggle: ",
-                               xco+10, yco-((ks->type&1) ? 68:92), (width-20), 19,
-                               ks->toggleName, 0, MAX_NAME, 0, 0,
-                               "Property that indicates whether to log "
-                               "keystrokes as a string");
-                       
+                                xco+10, yco-((ks->type&1) ? 68:92), (width-20), 19,
+                                ks->toggleName, 0, MAX_NAME, 0, 0,
+                                "Property that indicates whether to log "
+                                "keystrokes as a string");
+
                        /* line 5: target property for string logging mode */
                        uiDefBut(block, TEX, 1, "Target: ",
-                               xco+10, yco-((ks->type&1) ? 92:116), (width-20), 19,
-                               ks->targetName, 0, MAX_NAME, 0, 0,
-                               "Property that receives the keystrokes in case "
-                               "a string is logged");
-                       
+                                xco+10, yco-((ks->type&1) ? 92:116), (width-20), 19,
+                                ks->targetName, 0, MAX_NAME, 0, 0,
+                                "Property that receives the keystrokes in case "
+                                "a string is logged");
+
                        yco-= ysize;
                        break;
                }
-       case SENS_PROPERTY:
+               case SENS_PROPERTY:
                {
                        ysize= 96;
-                       
+
                        glRects(xco, yco-ysize, xco+width, yco);
                        uiEmboss((float)xco, (float)yco-ysize,
-                               (float)xco+width, (float)yco, 1);
-                       
+                                (float)xco+width, (float)yco, 1);
+
                        draw_default_sensor_header(sens, block, xco, yco, width);
                        ps= sens->data;
-                       
-                       str= "Type %t|Equal %x0|Not Equal %x1|Interval %x2|Changed %x3"; 
+
+                       str= "Type %t|Equal %x0|Not Equal %x1|Interval %x2|Changed %x3";
                        /* str= "Type %t|Equal %x0|Not Equal %x1"; */
                        uiDefButI(block, MENU, B_REDR, str,                     xco+30, yco-44, width-60, 19,
-                               &ps->type, 0, 31, 0, 0, "Type");
-                       
+                                 &ps->type, 0, 31, 0, 0, "Type");
+
                        if (ps->type != SENS_PROP_EXPRESSION) {
                                uiDefBut(block, TEX, 1, "Prop: ",                       xco+30, yco-68, width-60, 19,
-                                       ps->name, 0, MAX_NAME, 0, 0,  "Property name");
+                                        ps->name, 0, MAX_NAME, 0, 0,  "Property name");
                        }
-                       
+
                        if (ps->type == SENS_PROP_INTERVAL) {
                                uiDefBut(block, TEX, 1, "Min: ",                xco, yco-92, width/2, 19,
-                                       ps->value, 0, MAX_NAME, 0, 0, "check for min value");
+                                        ps->value, 0, MAX_NAME, 0, 0, "check for min value");
                                uiDefBut(block, TEX, 1, "Max: ",                xco+width/2, yco-92, width/2, 19,
-                                       ps->maxvalue, 0, MAX_NAME, 0, 0, "check for max value");
+                                        ps->maxvalue, 0, MAX_NAME, 0, 0, "check for max value");
                        }
                        else if (ps->type == SENS_PROP_CHANGED) {
                                /* pass */
@@ -1359,199 +1359,199 @@ static short draw_sensorbuttons(Object *ob, bSensor *sens, uiBlock *block, short
                                uiDefBut(block, TEX, 1, "Value: ",              xco+30, yco-92, width-60, 19,
                                         ps->value, 0, MAX_NAME, 0, 0, "check for value");
                        }
-                       
+
                        yco-= ysize;
                        break;
                }
-       case SENS_ARMATURE:
+               case SENS_ARMATURE:
                {
                        ysize= 70;
-                       
+
                        glRects(xco, yco-ysize, xco+width, yco);
                        uiEmboss((float)xco, (float)yco-ysize,
-                               (float)xco+width, (float)yco, 1);
-                       
+                                (float)xco+width, (float)yco, 1);
+
                        draw_default_sensor_header(sens, block, xco, yco, width);
                        arm= sens->data;
 
                        if (ob->type == OB_ARMATURE) {
                                uiBlockBeginAlign(block);
                                but = uiDefBut(block, TEX, 1, "Bone: ",
-                                               (xco+10), (yco-44), (width-20)/2, 19,
-                                               arm->posechannel, 0, MAX_NAME, 0, 0,
-                                               "Bone on which you want to check a constraint");
+                                              (xco+10), (yco-44), (width-20)/2, 19,
+                                              arm->posechannel, 0, MAX_NAME, 0, 0,
+                                              "Bone on which you want to check a constraint");
                                uiButSetFunc(but, check_armature_sensor, but, arm);
                                but = uiDefBut(block, TEX, 1, "Cons: ",
-                                               (xco+10)+(width-20)/2, (yco-44), (width-20)/2, 19,
-                                               arm->constraint, 0, MAX_NAME, 0, 0,
-                                               "Name of the constraint you want to control");
+                                              (xco+10)+(width-20)/2, (yco-44), (width-20)/2, 19,
+                                              arm->constraint, 0, MAX_NAME, 0, 0,
+                                              "Name of the constraint you want to control");
                                uiButSetFunc(but, check_armature_sensor, but, arm);
                                uiBlockEndAlign(block);
 
-                               str= "Type %t|State changed %x0|Lin error below %x1|Lin error above %x2|Rot error below %x3|Rot error above %x4"; 
+                               str= "Type %t|State changed %x0|Lin error below %x1|Lin error above %x2|Rot error below %x3|Rot error above %x4";
 
                                uiDefButI(block, MENU, B_REDR, str,                     xco+10, yco-66, 0.4*(width-20), 19,
-                                       &arm->type, 0, 31, 0, 0, "Type");
-                       
+                                         &arm->type, 0, 31, 0, 0, "Type");
+
                                if (arm->type != SENS_ARM_STATE_CHANGED) {
                                        uiDefButF(block, NUM, 1, "Value: ",             xco+10+0.4*(width-20), yco-66, 0.6*(width-20), 19,
-                                       &arm->value, -10000.0, 10000.0, 100, 0, "Test the error against this value");
+                                                 &arm->value, -10000.0, 10000.0, 100, 0, "Test the error against this value");
                                }
                        }
                        yco-= ysize;
                        break;
                }
-       case SENS_ACTUATOR:
+               case SENS_ACTUATOR:
                {
                        ysize= 48;
-                       
+
                        glRects(xco, yco-ysize, xco+width, yco);
                        uiEmboss((float)xco, (float)yco-ysize,
-                               (float)xco+width, (float)yco, 1);
-                       
+                                (float)xco+width, (float)yco, 1);
+
                        draw_default_sensor_header(sens, block, xco, yco, width);
                        as= sens->data;
-                       
+
                        uiDefBut(block, TEX, 1, "Act: ",                        xco+30, yco-44, width-60, 19,
-                                       as->name, 0, MAX_NAME, 0, 0,  "Actuator name, actuator active state modifications will be detected");
+                                as->name, 0, MAX_NAME, 0, 0,  "Actuator name, actuator active state modifications will be detected");
                        yco-= ysize;
                        break;
                }
-       case SENS_DELAY:
+               case SENS_DELAY:
                {
                        ysize= 48;
-                       
+
                        glRects(xco, yco-ysize, xco+width, yco);
                        uiEmboss((float)xco, (float)yco-ysize,
-                               (float)xco+width, (float)yco, 1);
-                       
+                                (float)xco+width, (float)yco, 1);
+
                        draw_default_sensor_header(sens, block, xco, yco, width);
                        ds = sens->data;
-                       
+
                        uiDefButS(block, NUM, 0, "Delay", (short)(10+xco), (short)(yco-44), (short)((width-22)*0.4+10), 19,
-                               &ds->delay, 0.0, 5000.0, 0, 0, "Delay in number of logic tics before the positive trigger (default 60 per second)");
+                                 &ds->delay, 0.0, 5000.0, 0, 0, "Delay in number of logic tics before the positive trigger (default 60 per second)");
                        uiDefButS(block, NUM, 0, "Dur", (short)(10+xco+(width-22)*0.4+10), (short)(yco-44), (short)((width-22)*0.4-10), 19,
-                               &ds->duration, 0.0, 5000.0, 0, 0, "If >0, delay in number of logic tics before the negative trigger following the positive trigger");
+                                 &ds->duration, 0.0, 5000.0, 0, 0, "If >0, delay in number of logic tics before the negative trigger following the positive trigger");
                        uiDefButBitS(block, TOG, SENS_DELAY_REPEAT, 0, "REP", (short)(xco + 10 + (width-22)*0.8), (short)(yco - 44),
-                               (short)(0.20 * (width-22)), 19, &ds->flag, 0.0, 0.0, 0, 0,
-                               "Toggle repeat option. If selected, the sensor restarts after Delay+Dur logic tics");
+                                    (short)(0.20 * (width-22)), 19, &ds->flag, 0.0, 0.0, 0, 0,
+                                    "Toggle repeat option. If selected, the sensor restarts after Delay+Dur logic tics");
                        yco-= ysize;
                        break;
                }
-       case SENS_MOUSE:
+               case SENS_MOUSE:
                {
                        ms= sens->data;
                        /* Two lines: 48 pixels high. */
                        ysize = 48;
-                       
+
                        glRects(xco, yco-ysize, xco+width, yco);
                        uiEmboss((float)xco, (float)yco-ysize, (float)xco+width, (float)yco, 1);
-                       
+
                        /* line 1: header */
                        draw_default_sensor_header(sens, block, xco, yco, width);
-                       
+
                        /* Line 2: type selection. The number are a bit mangled to get
                         * proper compatibility with older .blend files. */
 
                        /* Any sensor type default is 0 but the ms enum starts in 1.
                         * Therefore the mouse sensor is initialized to 1 in sca.c */
                        str= "Type %t|Left button %x1|Middle button %x2|"
-                               "Right button %x4|Wheel Up %x5|Wheel Down %x6|Movement %x8|Mouse over %x16|Mouse over any%x32"; 
+                            "Right button %x4|Wheel Up %x5|Wheel Down %x6|Movement %x8|Mouse over %x16|Mouse over any%x32";
                        uiDefButS(block, MENU, B_REDR, str, xco+10, yco-44, (width*0.8f)-20, 19,
-                               &ms->type, 0, 31, 0, 0,
-                               "Specify the type of event this mouse sensor should trigger on");
-                       
+                                 &ms->type, 0, 31, 0, 0,
+                                 "Specify the type of event this mouse sensor should trigger on");
+
                        if (ms->type==32) {
                                uiDefButBitS(block, TOG, SENS_MOUSE_FOCUS_PULSE, B_REDR, "Pulse", (short)(xco + 10) + (width*0.8f)-20, (short)(yco - 44),
-                                       (short)(0.20 * (width-20)), 19, &ms->flag, 0.0, 0.0, 0, 0,
-                                       "Moving the mouse over a different object generates a pulse");  
+                                            (short)(0.20 * (width-20)), 19, &ms->flag, 0.0, 0.0, 0, 0,
+                                            "Moving the mouse over a different object generates a pulse");
                        }
-                       
+
                        yco-= ysize;
                        break;
                }
-       case SENS_RANDOM:
+               case SENS_RANDOM:
                {
                        ysize = 48;
-                       
+
                        glRects(xco, yco-ysize, xco+width, yco);
                        uiEmboss((float)xco, (float)yco-ysize, (float)xco+width, (float)yco, 1);
-                       
+
                        draw_default_sensor_header(sens, block, xco, yco, width);
                        randomSensor = sens->data;
                        /* some files were wrongly written, avoid crash now */
                        if (randomSensor) {
                                uiDefButI(block, NUM, 1, "Seed: ",              xco+10, yco-44, (width-20), 19,
-                                       &randomSensor->seed, 0, 1000, 0, 0,
-                                       "Initial seed of the generator. (Choose 0 for not random)");
+                                         &randomSensor->seed, 0, 1000, 0, 0,
+                                         "Initial seed of the generator. (Choose 0 for not random)");
                        }
                        yco-= ysize;
                        break;
                }
-       case SENS_RAY:
+               case SENS_RAY:
                {
                        ysize = 72;
                        glRects(xco, yco-ysize, xco+width, yco);
                        uiEmboss((float)xco, (float)yco-ysize, (float)xco+width, (float)yco, 1);
-                       
+
                        draw_default_sensor_header(sens, block, xco, yco, width);
                        raySens = sens->data;
-                       
+
                        /* 1. property or material */
                        uiDefButBitS(block, TOG, SENS_COLLISION_MATERIAL, B_REDR, "M/P",
-                               xco + 10, yco - 44, 0.20 * (width-20), 19,
-                               &raySens->mode, 0.0, 0.0, 0, 0,
-                               "Toggle collision on material or property");
-                       
+                                    xco + 10, yco - 44, 0.20 * (width-20), 19,
+                                    &raySens->mode, 0.0, 0.0, 0, 0,
+                                    "Toggle collision on material or property");
+
                        if (raySens->mode & SENS_COLLISION_MATERIAL) {
                                uiDefBut(block, TEX, 1, "Material:", xco + 10 + 0.20 * (width-20), yco-44, 0.8*(width-20), 19,
-                                       &raySens->matname, 0, MAX_NAME, 0, 0,
-                                       "Only look for Objects with this material");
+                                        &raySens->matname, 0, MAX_NAME, 0, 0,
+                                        "Only look for Objects with this material");
                        }
                        else {
                                uiDefBut(block, TEX, 1, "Property:", xco + 10 + 0.20 * (width-20), yco-44, 0.8*(width-20), 19,
-                                       &raySens->propname, 0, MAX_NAME, 0, 0,
-                                       "Only look for Objects with this property");
+                                        &raySens->propname, 0, MAX_NAME, 0, 0,
+                                        "Only look for Objects with this property");
                        }
 
                        /* X-Ray option */
                        uiDefButBitS(block, TOG, SENS_RAY_XRAY, 1, "X",
-                               xco + 10, yco - 68, 0.10 * (width-20), 19,
-                               &raySens->mode, 0.0, 0.0, 0, 0,
-                               "Toggle X-Ray option (see through objects that don't have the property)");
+                                    xco + 10, yco - 68, 0.10 * (width-20), 19,
+                                    &raySens->mode, 0.0, 0.0, 0, 0,
+                                    "Toggle X-Ray option (see through objects that don't have the property)");
                        /* 2. sensing range */
                        uiDefButF(block, NUM, 1, "Range", xco+10 + 0.10 * (width-20), yco-68, 0.5 * (width-20), 19,
-                               &raySens->range, 0.01, 10000.0, 100, 0,
-                               "Sense objects no farther than this distance");
-                       
+                                 &raySens->range, 0.01, 10000.0, 100, 0,
+                                 "Sense objects no farther than this distance");
+
                        /* 3. axis choice */
-                       str = "Type %t|+ X axis %x1|+ Y axis %x0|+ Z axis %x2|- X axis %x3|- Y axis %x4|- Z axis %x5"; 
+                       str = "Type %t|+ X axis %x1|+ Y axis %x0|+ Z axis %x2|- X axis %x3|- Y axis %x4|- Z axis %x5";
                        uiDefButI(block, MENU, B_REDR, str, xco+10 + 0.6 * (width-20), yco-68, 0.4 * (width-20), 19,
-                               &raySens->axisflag, 2.0, 31, 0, 0,
-                               "Specify along which axis the ray is cast");
-                       
-                       yco-= ysize;            
+                                 &raySens->axisflag, 2.0, 31, 0, 0,
+                                 "Specify along which axis the ray is cast");
+
+                       yco-= ysize;
                        break;
                }
-       case SENS_MESSAGE:
+               case SENS_MESSAGE:
                {
                        mes = sens->data;
                        ysize = 2 * 24; /* total number of lines * 24 pixels/line */
-                       
+
                        glRects(xco, yco-ysize, xco+width, yco);
                        uiEmboss((float)xco, (float)yco-ysize,
-                               (float)xco+width, (float)yco, 1);
-                       
+                                (float)xco+width, (float)yco, 1);
+
                        /* line 1: header line */
                        draw_default_sensor_header(sens, block, xco, yco, width);
-                       
+
                        /* line 2: Subject filter */
                        uiDefBut(block, TEX, 1, "Subject: ",
-                               (xco+10), (yco-44), (width-20), 19,
-                               mes->subject, 0, MAX_NAME, 0, 0,
-                               "Optional subject filter: only accept messages with this subject"
-                               ", or empty for all");
-                       
+                                (xco+10), (yco-44), (width-20), 19,
+                                mes->subject, 0, MAX_NAME, 0, 0,
+                                "Optional subject filter: only accept messages with this subject"
+                                ", or empty for all");
+
                        yco -= ysize;
                        break;
                }
@@ -1559,96 +1559,96 @@ static short draw_sensorbuttons(Object *ob, bSensor *sens, uiBlock *block, short
                {
 
                        ysize =  72;
-                       
+
                        glRects(xco, yco-ysize, xco+width, yco);
                        uiEmboss((float)xco, (float)yco-ysize, (float)xco+width, (float)yco, 1);
-                       
+
                        /* line 1: header */
                        draw_default_sensor_header(sens, block, xco, yco, width);
 
                        joy= sens->data;
 
                        uiDefButC(block, NUM, 1, "Index:", xco+10, yco-44, 0.33 * (width-20), 19,
-                       &joy->joyindex, 0, SENS_JOY_MAXINDEX-1, 100, 0,
-                       "Specify which joystick to use");                       
+                                 &joy->joyindex, 0, SENS_JOY_MAXINDEX-1, 100, 0,
+                                 "Specify which joystick to use");
 
-                       str= "Type %t|Button %x0|Axis %x1|Single Axis %x3|Hat%x2"; 
+                       str= "Type %t|Button %x0|Axis %x1|Single Axis %x3|Hat%x2";
                        uiDefButC(block, MENU, B_REDR, str, xco+87, yco-44, 0.26 * (width-20), 19,
-                               &joy->type, 0, 31, 0, 0,
-                               "The type of event this joystick sensor is triggered on");
-                       
+                                 &joy->type, 0, 31, 0, 0,
+                                 "The type of event this joystick sensor is triggered on");
+
                        if (joy->type != SENS_JOY_AXIS_SINGLE) {
                                if (joy->flag & SENS_JOY_ANY_EVENT) {
                                        switch (joy->type) {
-                                       case SENS_JOY_AXIS:     
-                                               str = "All Axis Events";
-                                               break;
-                                       case SENS_JOY_BUTTON:   
-                                               str = "All Button Events";
-                                               break;
-                                       default:
-                                               str = "All Hat Events";
-                                               break;
+                                               case SENS_JOY_AXIS:
+                                                       str = "All Axis Events";
+                                                       break;
+                                               case SENS_JOY_BUTTON:
+                                                       str = "All Button Events";
+                                                       break;
+                                               default:
+                                                       str = "All Hat Events";
+                                                       break;
                                        }
                                }
                                else {
                                        str = "All";
                                }
-                               
+
                                uiDefButBitS(block, TOG, SENS_JOY_ANY_EVENT, B_REDR, str,
-                                       xco+10 + 0.475 * (width-20), yco-68, ((joy->flag & SENS_JOY_ANY_EVENT) ? 0.525 : 0.12) * (width-20), 19,
-                                       &joy->flag, 0, 0, 0, 0,
-                                       "Triggered by all events on this joysticks current type (axis/button/hat)");
+                                            xco+10 + 0.475 * (width-20), yco-68, ((joy->flag & SENS_JOY_ANY_EVENT) ? 0.525 : 0.12) * (width-20), 19,
+                                            &joy->flag, 0, 0, 0, 0,
+                                            "Triggered by all events on this joysticks current type (axis/button/hat)");
                        }
                        if (joy->type == SENS_JOY_BUTTON) {
                                if ((joy->flag & SENS_JOY_ANY_EVENT)==0) {
                                        uiDefButI(block, NUM, 1, "Number:", xco+10 + 0.6 * (width-20), yco-68, 0.4 * (width-20), 19,
-                                       &joy->button, 0, 18, 100, 0,
-                                       "Specify which button to use");
+                                                 &joy->button, 0, 18, 100, 0,
+                                                 "Specify which button to use");
                                }
                        }
                        else if (joy->type == SENS_JOY_AXIS) {
                                uiDefButS(block, NUM, 1, "Number:", xco+10, yco-68, 0.46 * (width-20), 19,
-                               &joy->axis, 1, 8.0, 100, 0,
-                               "Specify which axis pair to use, 1 is useually the main direction input");
+                                         &joy->axis, 1, 8.0, 100, 0,
+                                         "Specify which axis pair to use, 1 is useually the main direction input");
 
                                uiDefButI(block, NUM, 1, "Threshold:", xco+10 + 0.6 * (width-20), yco-44, 0.4 * (width-20), 19,
-                               &joy->precision, 0, 32768.0, 100, 0,
-                               "Specify the precision of the axis");
+                                         &joy->precision, 0, 32768.0, 100, 0,
+                                         "Specify the precision of the axis");
 
                                if ((joy->flag & SENS_JOY_ANY_EVENT)==0) {
-                                       str = "Type %t|Up Axis %x1 |Down Axis %x3|Left Axis %x2|Right Axis %x0"; 
+                                       str = "Type %t|Up Axis %x1 |Down Axis %x3|Left Axis %x2|Right Axis %x0";
                                        uiDefButI(block, MENU, B_REDR, str, xco+10 + 0.6 * (width-20), yco-68, 0.4 * (width-20), 19,
-                                       &joy->axisf, 2.0, 31, 0, 0,
-                                       "The direction of the axis, use 'All Events' to receive events on any direction");
+                                                 &joy->axisf, 2.0, 31, 0, 0,
+                                                 "The direction of the axis, use 'All Events' to receive events on any direction");
                                }
                        }
                        else if (joy->type == SENS_JOY_HAT) {
                                uiDefButI(block, NUM, 1, "Number:", xco+10, yco-68, 0.46 * (width-20), 19,
-                               &joy->hat, 1, 4.0, 100, 0,
-                               "Specify which hat to use");
-                               
+                                         &joy->hat, 1, 4.0, 100, 0,
+                                         "Specify which hat to use");
+
                                if ((joy->flag & SENS_JOY_ANY_EVENT)==0) {
-                                       str = "Direction%t|Up%x1|Down%x4|Left%x8|Right%x2|%l|Up/Right%x3|Down/Left%x12|Up/Left%x9|Down/Right%x6"; 
+                                       str = "Direction%t|Up%x1|Down%x4|Left%x8|Right%x2|%l|Up/Right%x3|Down/Left%x12|Up/Left%x9|Down/Right%x6";
                                        uiDefButI(block, MENU, 0, str, xco+10 + 0.6 * (width-20), yco-68, 0.4 * (width-20), 19,
-                                       &joy->hatf, 2.0, 31, 0, 0,
-                                       "The direction of the hat, use 'All Events' to receive events on any direction");
+                                                 &joy->hatf, 2.0, 31, 0, 0,
+                                                 "The direction of the hat, use 'All Events' to receive events on any direction");
                                }
                        }
                        else { /* (joy->type == SENS_JOY_AXIS_SINGLE)*/
                                uiDefButS(block, NUM, 1, "Number:", xco+10, yco-68, 0.46 * (width-20), 19,
-                               &joy->axis_single, 1, 16.0, 100, 0,
-                               "Specify a single axis (verticle/horizontal/other) to detect");
-                               
+                                         &joy->axis_single, 1, 16.0, 100, 0,
+                                         "Specify a single axis (verticle/horizontal/other) to detect");
+
                                uiDefButI(block, NUM, 1, "Threshold:", xco+10 + 0.6 * (width-20), yco-44, 0.4 * (width-20), 19,
-                               &joy->precision, 0, 32768.0, 100, 0,
-                               "Specify the precision of the axis");
+                                         &joy->precision, 0, 32768.0, 100, 0,
+                                         "Specify the precision of the axis");
                        }
                        yco-= ysize;
                        break;
                }
        }
-       
+
        return yco-4;
 }
 
@@ -1859,7 +1859,7 @@ static short draw_actuatorbuttons(Main *bmain, Object *ob, bActuator *act, uiBlo
        set_col_actuator(act->type, 0);
        
        switch (act->type) {
-       case ACT_OBJECT:
+               case ACT_OBJECT:
                {
                        oa = act->data;
                        wval = (width-100)/3;
@@ -1890,7 +1890,7 @@ static short draw_actuatorbuttons(Main *bmain, Object *ob, bActuator *act, uiBlo
 
                                uiDefButBitS(block, TOG, ACT_DLOC_LOCAL, 0, "L",                xco+45+3*wval, yco-45, 15, 19, &oa->flag, 0.0, 0.0, 0, 0, "Local transformation");
                                uiDefButBitS(block, TOG, ACT_DROT_LOCAL, 0, "L",                xco+45+3*wval, yco-64, 15, 19, &oa->flag, 0.0, 0.0, 0, 0, "Local transformation");
-       
+
                                if (ob->gameflag & OB_DYNAMIC) {
                                        uiDefBut(block, LABEL, 0, "Force",      xco, yco-87, 55, 19, NULL, 0, 0, 0, 0, "Sets the force");
                                        uiBlockBeginAlign(block);
@@ -1903,7 +1903,7 @@ static short draw_actuatorbuttons(Main *bmain, Object *ob, bActuator *act, uiBlo
                                        uiBlockBeginAlign(block);
                                        uiDefButF(block, NUM, 0, "",            xco+45, yco-106, wval, 19, oa->forcerot, -10000.0, 10000.0, 10, 0, "");
                                        uiDefButF(block, NUM, 0, "",            xco+45+wval, yco-106, wval, 19, oa->forcerot+1, -10000.0, 10000.0, 10, 0, "");
-                                       uiDefButF(block, NUM, 0, "",            xco+45+2*wval, yco-106, wval, 19, oa->forcerot+2, -10000.0, 10000.0, 10, 0, "");                                
+                                       uiDefButF(block, NUM, 0, "",            xco+45+2*wval, yco-106, wval, 19, oa->forcerot+2, -10000.0, 10000.0, 10, 0, "");
                                        uiBlockEndAlign(block);
                                }
                                
@@ -1914,14 +1914,14 @@ static short draw_actuatorbuttons(Main *bmain, Object *ob, bActuator *act, uiBlo
                                        uiDefButF(block, NUM, 0, "",            xco+45+wval, yco-129, wval, 19, oa->linearvelocity+1, -10000.0, 10000.0, 10, 0, "");
                                        uiDefButF(block, NUM, 0, "",            xco+45+2*wval, yco-129, wval, 19, oa->linearvelocity+2, -10000.0, 10000.0, 10, 0, "");
                                        uiBlockEndAlign(block);
-                               
+
                                        uiDefBut(block, LABEL, 0, "AngV",       xco, yco-148, 45, 19, NULL, 0, 0, 0, 0, "Sets the angular velocity");
                                        uiBlockBeginAlign(block);
                                        uiDefButF(block, NUM, 0, "",            xco+45, yco-148, wval, 19, oa->angularvelocity, -10000.0, 10000.0, 10, 0, "");
                                        uiDefButF(block, NUM, 0, "",            xco+45+wval, yco-148, wval, 19, oa->angularvelocity+1, -10000.0, 10000.0, 10, 0, "");
                                        uiDefButF(block, NUM, 0, "",            xco+45+2*wval, yco-148, wval, 19, oa->angularvelocity+2, -10000.0, 10000.0, 10, 0, "");
                                        uiBlockEndAlign(block);
-                               
+
                                        uiDefBut(block, LABEL, 0, "Damp",       xco, yco-171, 45, 19, NULL, 0, 0, 0, 0, "Number of frames to reach the target velocity");
                                        uiDefButS(block, NUM, 0, "",            xco+45, yco-171, wval, 19, &oa->damping, 0.0, 1000.0, 100, 0, "");
 
@@ -1929,9 +1929,9 @@ static short draw_actuatorbuttons(Main *bmain, Object *ob, bActuator *act, uiBlo
                                        uiDefButBitS(block, TOG, ACT_TORQUE_LOCAL, 0, "L",              xco+45+3*wval, yco-106, 15, 19, &oa->flag, 0.0, 0.0, 0, 0, "Local transformation");
                                        uiDefButBitS(block, TOG, ACT_LIN_VEL_LOCAL, 0, "L",             xco+45+3*wval, yco-129, 15, 19, &oa->flag, 0.0, 0.0, 0, 0, "Local transformation");
                                        uiDefButBitS(block, TOG, ACT_ANG_VEL_LOCAL, 0, "L",             xco+45+3*wval, yco-148, 15, 19, &oa->flag, 0.0, 0.0, 0, 0, "Local transformation");
-                               
+
                                        uiDefButBitS(block, TOG, ACT_ADD_LIN_VEL, 0, "use_additive", xco+45+3*wval+15, yco-129, 35, 19, &oa->flag, 0.0, 0.0, 0, 0, "Toggles between ADD and SET linV");
-                               }                               
+                               }
                        }
                        else if (oa->type == ACT_OBJECT_SERVO) {
                                ysize= 195;
@@ -1984,8 +1984,8 @@ static short draw_actuatorbuttons(Main *bmain, Object *ob, bActuator *act, uiBlo
                        yco-= ysize;
                        break;
                }
-       case ACT_ACTION:
-       case ACT_SHAPEACTION:
+               case ACT_ACTION:
+               case ACT_SHAPEACTION:
                {
                        /* DrawAct */
 #ifdef __NLA_ACTION_BY_MOTION_ACTUATOR
@@ -2010,7 +2010,7 @@ static short draw_actuatorbuttons(Main *bmain, Object *ob, bActuator *act, uiBlo
                        uiDefIDPoinBut(block, test_actionpoin_but, ID_AC, 1, "AC: ", xco+10+ (width/3), yco-24, ((width/3)*2) - (20 + 60), 19, &aa->act, "Action name");
                        
                        uiDefButBitS(block, TOGN, 1, 0, "Continue", xco+((width/3)*2)+20, yco-24, 60, 19,
-                                        &aa->end_reset, 0.0, 0.0, 0, 0, "Restore last frame when switching on/off, otherwise play from the start each time");
+                                    &aa->end_reset, 0.0, 0.0, 0, 0, "Restore last frame when switching on/off, otherwise play from the start each time");
                        
                        
                        if (aa->type == ACT_ACTION_FROM_PROP) {
@@ -2020,7 +2020,7 @@ static short draw_actuatorbuttons(Main *bmain, Object *ob, bActuator *act, uiBlo
                                uiDefButF(block, NUM, 0, "Sta: ", xco+10, yco-44, (width-20)/2, 19, &aa->sta, 1.0, MAXFRAMEF, 0, 0, "Start frame");
                                uiDefButF(block, NUM, 0, "End: ", xco+10+(width-20)/2, yco-44, (width-20)/2, 19, &aa->end, 1.0, MAXFRAMEF, 0, 0, "End frame");
                        }
-                                               
+
                        uiDefButS(block, NUM, 0, "Blendin: ", xco+10, yco-64, (width-20)/2, 19, &aa->blendin, 0.0, 32767, 0.0, 0.0, "Number of frames of motion blending");
                        uiDefButS(block, NUM, 0, "Priority: ", xco+10+(width-20)/2, yco-64, (width-20)/2, 19, &aa->priority, 0.0, 100.0, 0.0, 0.0, "Execution priority - lower numbers will override actions with higher numbers, With 2 or more actions at once, the overriding channels must be lower in the stack");
                        
@@ -2038,7 +2038,7 @@ static short draw_actuatorbuttons(Main *bmain, Object *ob, bActuator *act, uiBlo
                        yco-=ysize;
                        break;
                }
-       case ACT_IPO:
+               case ACT_IPO:
                {
                        ia= act->data;
                        
@@ -2051,55 +2051,55 @@ static short draw_actuatorbuttons(Main *bmain, Object *ob, bActuator *act, uiBlo
                        
                        uiDefButS(block, MENU, B_REDR, str,             xco+10, yco-24, (width-20)/2, 19, &ia->type, 0, 0, 0, 0, "");
 
-                       but = uiDefButBitS(block, TOG, ACT_IPOFORCE, ACT_IPOFORCE, 
-                               "Force", xco+10+(width-20)/2, yco-24, (width-20)/4-10, 19, 
-                               &ia->flag, 0, 0, 0, 0, 
-                               "Apply Ipo as a global or local force depending on the local option (dynamic objects only)"); 
+                       but = uiDefButBitS(block, TOG, ACT_IPOFORCE, ACT_IPOFORCE,
+                                          "Force", xco+10+(width-20)/2, yco-24, (width-20)/4-10, 19,
+                                          &ia->flag, 0, 0, 0, 0,
+                                          "Apply Ipo as a global or local force depending on the local option (dynamic objects only)");
                        uiButSetFunc(but, change_ipo_actuator, but, ia);
 
-                       but = uiDefButBitS(block, TOG, ACT_IPOADD, ACT_IPOADD, 
-                               "Add", xco+3*(width-20)/4, yco-24, (width-20)/4-10, 19, 
-                               &ia->flag, 0, 0, 0, 0, 
-                               "Ipo is added to the current loc/rot/scale in global or local coordinate according to Local flag"); 
+                       but = uiDefButBitS(block, TOG, ACT_IPOADD, ACT_IPOADD,
+                                          "Add", xco+3*(width-20)/4, yco-24, (width-20)/4-10, 19,
+                                          &ia->flag, 0, 0, 0, 0,
+                                          "Ipo is added to the current loc/rot/scale in global or local coordinate according to Local flag");
                        uiButSetFunc(but, change_ipo_actuator, but, ia);
                        
                        /* Only show the do-force-local toggle if force is requested */
                        if (ia->flag & (ACT_IPOFORCE|ACT_IPOADD)) {
-                               uiDefButBitS(block, TOG, ACT_IPOLOCAL, 0, 
-                                       "L", xco+width-30, yco-24, 20, 19, 
-                                       &ia->flag, 0, 0, 0, 0, 
-                                       "Let the ipo acts in local coordinates, used in Force and Add mode"); 
+                               uiDefButBitS(block, TOG, ACT_IPOLOCAL, 0,
+                                            "L", xco+width-30, yco-24, 20, 19,
+                                            &ia->flag, 0, 0, 0, 0,
+                                            "Let the ipo acts in local coordinates, used in Force and Add mode");
                        }
 
                        if (ia->type==ACT_IPO_FROM_PROP) {
-                               uiDefBut(block, TEX, 0, 
-                                       "Prop: ",               xco+10, yco-44, width-80, 19, 
-                                       ia->name, 0.0, MAX_NAME, 0, 0,
-                                       "Use this property to define the Ipo position");
+                               uiDefBut(block, TEX, 0,
+                                        "Prop: ",              xco+10, yco-44, width-80, 19,
+                                        ia->name, 0.0, MAX_NAME, 0, 0,
+                                        "Use this property to define the Ipo position");
                        }
                        else {
-                               uiDefButF(block, NUM, 0, 
-                                       "Sta",          xco+10, yco-44, (width-80)/2, 19, 
-                                       &ia->sta, 1.0, MAXFRAMEF, 0, 0, 
-                                       "Start frame");
-                               uiDefButF(block, NUM, 0, 
-                                       "End",          xco+10+(width-80)/2, yco-44, (width-80)/2, 19, 
-                                       &ia->end, 1.0, MAXFRAMEF, 0, 0, 
-                                       "End frame");
+                               uiDefButF(block, NUM, 0,
+                                         "Sta",                xco+10, yco-44, (width-80)/2, 19,
+                                         &ia->sta, 1.0, MAXFRAMEF, 0, 0,
+                                         "Start frame");
+                               uiDefButF(block, NUM, 0,
+                                         "End",                xco+10+(width-80)/2, yco-44, (width-80)/2, 19,
+                                         &ia->end, 1.0, MAXFRAMEF, 0, 0,
+                                         "End frame");
                        }
-                       uiDefButBitS(block, TOG, ACT_IPOCHILD,  B_REDR, 
-                               "Child",        xco+10+(width-80), yco-44, 60, 19, 
-                               &ia->flag, 0, 0, 0, 0, 
-                               "Update IPO on all children Objects as well");
-                       uiDefBut(block, TEX, 0, 
-                               "FrameProp: ",          xco+10, yco-64, width-20, 19, 
-                               ia->frameProp, 0.0, MAX_NAME, 0, 0,
-                               "Assign the action's current frame number to this property");
+                       uiDefButBitS(block, TOG, ACT_IPOCHILD,  B_REDR,
+                                    "Child",   xco+10+(width-80), yco-44, 60, 19,
+                                    &ia->flag, 0, 0, 0, 0,
+                                    "Update IPO on all children Objects as well");
+                       uiDefBut(block, TEX, 0,
+                                "FrameProp: ",         xco+10, yco-64, width-20, 19,
+                                ia->frameProp, 0.0, MAX_NAME, 0, 0,
+                                "Assign the action's current frame number to this property");
 
                        yco-= ysize;
                        break;
                }
-       case ACT_PROPERTY:
+               case ACT_PROPERTY:
                {
                        ysize= 68;
                        
@@ -2129,7 +2129,7 @@ static short draw_actuatorbuttons(Main *bmain, Object *ob, bActuator *act, uiBlo
                        
                        break;
                }
-       case ACT_SOUND:
+               case ACT_SOUND:
                {
                        sa = act->data;
                        sa->sndnr = 0;
@@ -2193,743 +2193,743 @@ static short draw_actuatorbuttons(Main *bmain, Object *ob, bActuator *act, uiBlo
                                        }
                                }
                                MEM_freeN((void *)str);
-                       } 
+                       }
                        else {
                                uiDefButO(block, BUT, "sound.open", 0, "Load Sound", xco+10, yco-22, width-20, 19, "Load a sound file");
                        }
-                                       
+
                        yco-= ysize;
                        
                        break;
                }
-       case ACT_CAMERA:
+               case ACT_CAMERA:
 
-               ysize= 48;
+                       ysize= 48;
 
-               glRects(xco, yco-ysize, xco+width, yco);
-               uiEmboss((float)xco, (float)yco-ysize, (float)xco+width, (float)yco, 1);
-               
-               ca= act->data;
+                       glRects(xco, yco-ysize, xco+width, yco);
+                       uiEmboss((float)xco, (float)yco-ysize, (float)xco+width, (float)yco, 1);
 
-               uiDefIDPoinBut(block, test_obpoin_but, ID_OB, 1, "OB:",         xco+10, yco-24, (width-20)/2, 19, &(ca->ob), "Look at this Object");
-               uiDefButF(block, NUM, 0, "Height:",     xco+10+(width-20)/2, yco-24, (width-20)/2, 19, &ca->height, 0.0, 20.0, 0, 0, "");
-               
-               uiDefButF(block, NUM, 0, "Min:",        xco+10, yco-44, (width-60)/2, 19, &ca->min, 0.0, 20.0, 0, 0, "");
-               
-               if (ca->axis==0) ca->axis= 'x';
-               uiDefButS(block, ROW, 0, "X",   xco+10+(width-60)/2, yco-44, 20, 19, &ca->axis, 4.0, (float)'x', 0, 0, "Camera tries to get behind the X axis");
-               uiDefButS(block, ROW, 0, "Y",   xco+30+(width-60)/2, yco-44, 20, 19, &ca->axis, 4.0, (float)'y', 0, 0, "Camera tries to get behind the Y axis");
-               
-               uiDefButF(block, NUM, 0, "Max:",        xco+20+(width)/2, yco-44, (width-60)/2, 19, &ca->max, 0.0, 20.0, 0, 0, "");
+                       ca= act->data;
 
-               yco-= ysize;
+                       uiDefIDPoinBut(block, test_obpoin_but, ID_OB, 1, "OB:",         xco+10, yco-24, (width-20)/2, 19, &(ca->ob), "Look at this Object");
+                       uiDefButF(block, NUM, 0, "Height:",     xco+10+(width-20)/2, yco-24, (width-20)/2, 19, &ca->height, 0.0, 20.0, 0, 0, "");
 
-               break;
+                       uiDefButF(block, NUM, 0, "Min:",        xco+10, yco-44, (width-60)/2, 19, &ca->min, 0.0, 20.0, 0, 0, "");
 
-       case ACT_EDIT_OBJECT:
-               
-               eoa= act->data;
+                       if (ca->axis==0) ca->axis= 'x';
+                       uiDefButS(block, ROW, 0, "X",   xco+10+(width-60)/2, yco-44, 20, 19, &ca->axis, 4.0, (float)'x', 0, 0, "Camera tries to get behind the X axis");
+                       uiDefButS(block, ROW, 0, "Y",   xco+30+(width-60)/2, yco-44, 20, 19, &ca->axis, 4.0, (float)'y', 0, 0, "Camera tries to get behind the Y axis");
 
-               if (eoa->type==ACT_EDOB_ADD_OBJECT) {
-                       ysize = 92;
-                       glRects(xco, yco-ysize, xco+width, yco);
-                       uiEmboss((float)xco, (float)yco-ysize, (float)xco+width, (float)yco, 1);
+                       uiDefButF(block, NUM, 0, "Max:",        xco+20+(width)/2, yco-44, (width-60)/2, 19, &ca->max, 0.0, 20.0, 0, 0, "");
 
-                       uiDefIDPoinBut(block, test_obpoin_but, ID_OB, 1, "OB:",         xco+10, yco-44, (width-20)/2, 19, &(eoa->ob), "Add this Object and all its children (cant be on an visible layer)");
-                       uiDefButI(block, NUM, 0, "Time:",       xco+10+(width-20)/2, yco-44, (width-20)/2, 19, &eoa->time, 0.0, 2000.0, 0, 0, "Duration the new Object lives");
-
-                       wval= (width-60)/3;
-                       uiDefBut(block, LABEL, 0, "linV",       xco,           yco-68,   45, 19,
-                                        NULL, 0, 0, 0, 0,
-                                        "Velocity upon creation");
-                       uiDefButF(block, NUM, 0, "",            xco+45,        yco-68, wval, 19,
-                                        eoa->linVelocity, -100.0, 100.0, 10, 0,
-                                        "Velocity upon creation, x component");
-                       uiDefButF(block, NUM, 0, "",            xco+45+wval,   yco-68, wval, 19,
-                                        eoa->linVelocity+1, -100.0, 100.0, 10, 0,
-                                        "Velocity upon creation, y component");
-                       uiDefButF(block, NUM, 0, "",            xco+45+2*wval, yco-68, wval, 19,
-                                        eoa->linVelocity+2, -100.0, 100.0, 10, 0,
-                                        "Velocity upon creation, z component");
-                       uiDefButBitS(block, TOG, ACT_EDOB_LOCAL_LINV, 0, "L", xco+45+3*wval, yco-68, 15, 19,
-                                        &eoa->localflag, 0.0, 0.0, 0, 0,
-                                        "Apply the transformation locally");
-                       
-                       
-                       uiDefBut(block, LABEL, 0, "AngV",       xco,           yco-90,   45, 19,
-                                        NULL, 0, 0, 0, 0,
-                                        "Angular velocity upon creation");
-                       uiDefButF(block, NUM, 0, "",            xco+45,        yco-90, wval, 19,
-                                        eoa->angVelocity, -10000.0, 10000.0, 10, 0,
-                                        "Angular velocity upon creation, x component");
-                       uiDefButF(block, NUM, 0, "",            xco+45+wval,   yco-90, wval, 19,
-                                        eoa->angVelocity+1, -10000.0, 10000.0, 10, 0,
-                                        "Angular velocity upon creation, y component");
-                       uiDefButF(block, NUM, 0, "",            xco+45+2*wval, yco-90, wval, 19,
-                                        eoa->angVelocity+2, -10000.0, 10000.0, 10, 0,
-                                        "Angular velocity upon creation, z component");
-                       uiDefButBitS(block, TOG, ACT_EDOB_LOCAL_ANGV, 0, "L", xco+45+3*wval, yco-90, 15, 19,
-                                        &eoa->localflag, 0.0, 0.0, 0, 0,
-                                        "Apply the rotation locally");
-                                        
+                       yco-= ysize;
 
-               }
-               else if (eoa->type==ACT_EDOB_END_OBJECT) {
-                       ysize= 28;
-                       glRects(xco, yco-ysize, xco+width, yco);
-                       uiEmboss((float)xco, (float)yco-ysize, (float)xco+width, (float)yco, 1);
-               }
-               else if (eoa->type==ACT_EDOB_REPLACE_MESH) {
-                       ysize= 48;
-                       glRects(xco, yco-ysize, xco+width, yco);
-                       uiEmboss((float)xco, (float)yco-ysize, (float)xco+width, (float)yco, 1);
-        
-                       uiDefIDPoinBut(block, test_meshpoin_but, ID_ME, 1, "ME:",               xco+40, yco-44, (width-80)/2, 19, &(eoa->me), "replace the existing, when left blank 'Phys' will remake the existing physics mesh");
-                       
-                       uiDefButBitS(block, TOGN, ACT_EDOB_REPLACE_MESH_NOGFX, 0, "Gfx",        xco+40 + (width-80)/2, yco-44, (width-80)/4, 19, &eoa->flag, 0, 0, 0, 0, "Replace the display mesh");
-                       uiDefButBitS(block, TOG, ACT_EDOB_REPLACE_MESH_PHYS, 0, "Phys", xco+40 + (width-80)/2 +(width-80)/4, yco-44, (width-80)/4, 19, &eoa->flag, 0, 0, 0, 0, "Replace the physics mesh (triangle bounds only. compound shapes not supported)");
-               }
-               else if (eoa->type==ACT_EDOB_TRACK_TO) {
-                       ysize= 48;
-                       glRects(xco, yco-ysize, xco+width, yco);
-                       uiEmboss((float)xco, (float)yco-ysize, (float)xco+width, (float)yco, 1);
-        
-                       uiDefIDPoinBut(block, test_obpoin_but, ID_OB, 1, "OB:",         xco+10, yco-44, (width-20)/2, 19, &(eoa->ob), "Track to this Object");
-                       uiDefButI(block, NUM, 0, "Time:",       xco+10+(width-20)/2, yco-44, (width-20)/2-40, 19, &eoa->time, 0.0, 2000.0, 0, 0, "Duration the tracking takes");
-                       uiDefButS(block, TOG, 0, "3D",  xco+width-50, yco-44, 40, 19, &eoa->flag, 0.0, 0.0, 0, 0, "Enable 3D tracking");
-               }
-               else if (eoa->type==ACT_EDOB_DYNAMICS) {
-                       ysize= 69;
-                       glRects(xco, yco-ysize, xco+width, yco);
-                       uiEmboss((float)xco, (float)yco-ysize, (float)xco+width, (float)yco, 1);
-                       
-                       str= "Dynamic Operation %t|Restore Dynamics %x0|Suspend Dynamics %x1|Enable Rigid Body %x2|Disable Rigid Body %x3|Set Mass %x4";
-                       uiDefButS(block, MENU, B_REDR, str,             xco+40, yco-44, (width-80), 19,  &(eoa->dyn_operation), 0.0, 0.0, 0, 0, "");
-                       if (eoa->dyn_operation==4) {
-                               uiDefButF(block, NUM, 0, "",            xco+40, yco-63, width-80, 19,
-                                        &eoa->mass, 0.0, 10000.0, 10, 0,
-                                        "Mass for object");
-                       }
-               }
-               str= "Edit Object %t|Add Object %x0|End Object %x1|Replace Mesh %x2|Track to %x3|Dynamics %x4";
-               uiDefButS(block, MENU, B_REDR, str,             xco+40, yco-24, (width-80), 19, &eoa->type, 0.0, 0.0, 0, 0, "");
+                       break;
 
-               yco-= ysize;
+               case ACT_EDIT_OBJECT:
 
-               break;
+                       eoa= act->data;
 
-       case ACT_CONSTRAINT:
-               coa= act->data;
-       
-               if (coa->type == ACT_CONST_TYPE_LOC) {
-                       ysize= 69;
+                       if (eoa->type==ACT_EDOB_ADD_OBJECT) {
+                               ysize = 92;
+                               glRects(xco, yco-ysize, xco+width, yco);
+                               uiEmboss((float)xco, (float)yco-ysize, (float)xco+width, (float)yco, 1);
+
+                               uiDefIDPoinBut(block, test_obpoin_but, ID_OB, 1, "OB:",         xco+10, yco-44, (width-20)/2, 19, &(eoa->ob), "Add this Object and all its children (cant be on an visible layer)");
+                               uiDefButI(block, NUM, 0, "Time:",       xco+10+(width-20)/2, yco-44, (width-20)/2, 19, &eoa->time, 0.0, 2000.0, 0, 0, "Duration the new Object lives");
+
+                               wval= (width-60)/3;
+                               uiDefBut(block, LABEL, 0, "linV",       xco,           yco-68,   45, 19,
+                                        NULL, 0, 0, 0, 0,
+                                        "Velocity upon creation");
+                               uiDefButF(block, NUM, 0, "",            xco+45,        yco-68, wval, 19,
+                                         eoa->linVelocity, -100.0, 100.0, 10, 0,
+                                         "Velocity upon creation, x component");
+                               uiDefButF(block, NUM, 0, "",            xco+45+wval,   yco-68, wval, 19,
+                                         eoa->linVelocity+1, -100.0, 100.0, 10, 0,
+                                         "Velocity upon creation, y component");
+                               uiDefButF(block, NUM, 0, "",            xco+45+2*wval, yco-68, wval, 19,
+                                         eoa->linVelocity+2, -100.0, 100.0, 10, 0,
+                                         "Velocity upon creation, z component");
+                               uiDefButBitS(block, TOG, ACT_EDOB_LOCAL_LINV, 0, "L", xco+45+3*wval, yco-68, 15, 19,
+                                            &eoa->localflag, 0.0, 0.0, 0, 0,
+                                            "Apply the transformation locally");
+
+
+                               uiDefBut(block, LABEL, 0, "AngV",       xco,           yco-90,   45, 19,
+                                        NULL, 0, 0, 0, 0,
+                                        "Angular velocity upon creation");
+                               uiDefButF(block, NUM, 0, "",            xco+45,        yco-90, wval, 19,
+                                         eoa->angVelocity, -10000.0, 10000.0, 10, 0,
+                                         "Angular velocity upon creation, x component");
+                               uiDefButF(block, NUM, 0, "",            xco+45+wval,   yco-90, wval, 19,
+                                         eoa->angVelocity+1, -10000.0, 10000.0, 10, 0,
+                                         "Angular velocity upon creation, y component");
+                               uiDefButF(block, NUM, 0, "",            xco+45+2*wval, yco-90, wval, 19,
+                                         eoa->angVelocity+2, -10000.0, 10000.0, 10, 0,
+                                         "Angular velocity upon creation, z component");
+                               uiDefButBitS(block, TOG, ACT_EDOB_LOCAL_ANGV, 0, "L", xco+45+3*wval, yco-90, 15, 19,
+                                            &eoa->localflag, 0.0, 0.0, 0, 0,
+                                            "Apply the rotation locally");
 
-                       glRects(xco, yco-ysize, xco+width, yco);
-                       uiEmboss((float)xco, (float)yco-ysize, (float)xco+width, (float)yco, 1);
-                       
-       /*              str= "Limit %t|None %x0|Loc X %x1|Loc Y %x2|Loc Z %x4|Rot X %x8|Rot Y %x16|Rot Z %x32"; */
-       /*                      coa->flag &= ~(63); */
-                       str= "Limit %t|None %x0|Loc X %x1|Loc Y %x2|Loc Z %x4";
-                       coa->flag &= 7;
-                       coa->time = 0;
-                       uiDefButS(block, MENU, 1, str,          xco+10, yco-65, 70, 19, &coa->flag, 0.0, 0.0, 0, 0, "");
-               
-                       uiDefButS(block, NUM,           0, "damp",      xco+10, yco-45, 70, 19, &coa->damp, 0.0, 100.0, 0, 0, "Damping factor: time constant (in frame) of low pass filter");
-                       uiDefBut(block, LABEL,                  0, "Min",       xco+80, yco-45, (width-90)/2, 19, NULL, 0.0, 0.0, 0, 0, "");
-                       uiDefBut(block, LABEL,                  0, "Max",       xco+80+(width-90)/2, yco-45, (width-90)/2, 19, NULL, 0.0, 0.0, 0, 0, "");
-
-                       if (coa->flag & ACT_CONST_LOCX) fp= coa->minloc;
-                       else if (coa->flag & ACT_CONST_LOCY) fp= coa->minloc+1;
-                       else if (coa->flag & ACT_CONST_LOCZ) fp= coa->minloc+2;
-                       else if (coa->flag & ACT_CONST_ROTX) fp= coa->minrot;
-                       else if (coa->flag & ACT_CONST_ROTY) fp= coa->minrot+1;
-                       else fp= coa->minrot+2;
-                       
-                       uiDefButF(block, NUM, 0, "",            xco+80, yco-65, (width-90)/2, 19, fp, -2000.0, 2000.0, 10, 0, "");
-                       uiDefButF(block, NUM, 0, "",            xco+80+(width-90)/2, yco-65, (width-90)/2, 19, fp+3, -2000.0, 2000.0, 10, 0, "");
-               }
-               else if (coa->type == ACT_CONST_TYPE_DIST) {
-                       ysize= 106;
 
-                       glRects(xco, yco-ysize, xco+width, yco);
-                       uiEmboss((float)xco, (float)yco-ysize, (float)xco+width, (float)yco, 1);
-                       
-                       str= "Direction %t|None %x0|X axis %x1|Y axis %x2|Z axis %x4|-X axis %x8|-Y axis %x16|-Z axis %x32";
-                       uiDefButS(block, MENU, B_REDR, str,             xco+10, yco-65, 70, 19, &coa->mode, 0.0, 0.0, 0, 0, "Set the direction of the ray");
-               
-                       uiDefButS(block, NUM,           0, "damp",      xco+10, yco-45, 70, 19, &coa->damp, 0.0, 100.0, 0, 0, "Damping factor: time constant (in frame) of low pass filter");
-                       uiDefBut(block, LABEL,                  0, "Range",     xco+80, yco-45, (width-115)/2, 19, NULL, 0.0, 0.0, 0, 0, "Set the maximum length of ray");
-                       uiDefButBitS(block, TOG, ACT_CONST_DISTANCE, B_REDR, "Dist",    xco+80+(width-115)/2, yco-45, (width-115)/2, 19, &coa->flag, 0.0, 0.0, 0, 0, "Force distance of object to point of impact of ray");
-                       uiDefButBitS(block, TOG, ACT_CONST_LOCAL, 0, "L", xco+80+(width-115), yco-45, 25, 19,
-                                        &coa->flag, 0.0, 0.0, 0, 0, "Set ray along object's axis or global axis");
-
-                       if (coa->mode & (ACT_CONST_DIRPX|ACT_CONST_DIRNX)) fp= coa->minloc;
-                       else if (coa->mode & (ACT_CONST_DIRPY|ACT_CONST_DIRNY)) fp= coa->minloc+1;
-                       else fp= coa->minloc+2;
-
-                       uiDefButF(block, NUM, 0, "",            xco+80, yco-65, (width-115)/2, 19, fp+3, 0.0, 2000.0, 10, 0, "Maximum length of ray");
-                       if (coa->flag & ACT_CONST_DISTANCE)
-                               uiDefButF(block, NUM, 0, "",            xco+80+(width-115)/2, yco-65, (width-115)/2, 19, fp, -2000.0, 2000.0, 10, 0, "Keep this distance to target");
-                       uiDefButBitS(block, TOG, ACT_CONST_NORMAL, 0, "N", xco+80+(width-115), yco-65, 25, 19,
-                                        &coa->flag, 0.0, 0.0, 0, 0, "Set object axis along (local axis) or parallel (global axis) to the normal at hit position");
-                       uiDefButBitS(block, TOG, ACT_CONST_MATERIAL, B_REDR, "M/P", xco+10, yco-84, 40, 19,
-                                        &coa->flag, 0.0, 0.0, 0, 0, "Detect material instead of property");
-                       if (coa->flag & ACT_CONST_MATERIAL) {
-                               uiDefBut(block, TEX, 1, "Material:", xco + 50, yco-84, (width-60), 19,
-                                       coa->matprop, 0, MAX_NAME, 0, 0,
-                                       "Ray detects only Objects with this material");
                        }
-                       else {
-                               uiDefBut(block, TEX, 1, "Property:", xco + 50, yco-84, (width-60), 19,
-                                       coa->matprop, 0, MAX_NAME, 0, 0,
-                                       "Ray detect only Objects with this property");
+                       else if (eoa->type==ACT_EDOB_END_OBJECT) {
+                               ysize= 28;
+                               glRects(xco, yco-ysize, xco+width, yco);
+                               uiEmboss((float)xco, (float)yco-ysize, (float)xco+width, (float)yco, 1);
                        }
-                       uiDefButBitS(block, TOG, ACT_CONST_PERMANENT, 0, "PER", xco+10, yco-103, 40, 19,
-                               &coa->flag, 0.0, 0.0, 0, 0, "Persistent actuator: stays active even if ray does not reach target");
-                       uiDefButS(block, NUM, 0, "time", xco+50, yco-103, (width-60)/2, 19, &(coa->time), 0.0, 1000.0, 0, 0, "Maximum activation time in frame, 0 for unlimited");
-                       uiDefButS(block, NUM, 0, "rotDamp", xco+50+(width-60)/2, yco-103, (width-60)/2, 19, &(coa->rotdamp), 0.0, 100.0, 0, 0, "Use a different damping for orientation");
-               }
-               else if (coa->type == ACT_CONST_TYPE_ORI) {
-                       ysize= 87;
+                       else if (eoa->type==ACT_EDOB_REPLACE_MESH) {
+                               ysize= 48;
+                               glRects(xco, yco-ysize, xco+width, yco);
+                               uiEmboss((float)xco, (float)yco-ysize, (float)xco+width, (float)yco, 1);
 
-                       glRects(xco, yco-ysize, xco+width, yco);
-                       uiEmboss((float)xco, (float)yco-ysize, (float)xco+width, (float)yco, 1);
-                       
-                       str= "Direction %t|None %x0|X axis %x1|Y axis %x2|Z axis %x4";
-                       uiDefButS(block, MENU, B_REDR, str,             xco+10, yco-65, 70, 19, &coa->mode, 0.0, 0.0, 0, 0, "Select the axis to be aligned along the reference direction");
-               
-                       uiDefButS(block, NUM,           0, "damp",      xco+10, yco-45, 70, 19, &coa->damp, 0.0, 100.0, 0, 0, "Damping factor: time constant (in frame) of low pass filter");
-                       uiDefBut(block, LABEL,                  0, "X", xco+80, yco-45, (width-115)/3, 19, NULL, 0.0, 0.0, 0, 0, "");
-                       uiDefBut(block, LABEL,                  0, "Y", xco+80+(width-115)/3, yco-45, (width-115)/3, 19, NULL, 0.0, 0.0, 0, 0, "");
-                       uiDefBut(block, LABEL,                  0, "Z", xco+80+2*(width-115)/3, yco-45, (width-115)/3, 19, NULL, 0.0, 0.0, 0, 0, "");
-
-                       uiDefButF(block, NUM, 0, "",            xco+80, yco-65, (width-115)/3, 19, &coa->maxrot[0], -2000.0, 2000.0, 10, 0, "X component of reference direction");
-                       uiDefButF(block, NUM, 0, "",            xco+80+(width-115)/3, yco-65, (width-115)/3, 19, &coa->maxrot[1], -2000.0, 2000.0, 10, 0, "Y component of reference direction");
-                       uiDefButF(block, NUM, 0, "",            xco+80+2*(width-115)/3, yco-65, (width-115)/3, 19, &coa->maxrot[2], -2000.0, 2000.0, 10, 0, "Z component of reference direction");
-
-                       uiDefButS(block, NUM, 0, "time", xco+10, yco-84, 70, 19, &(coa->time), 0.0, 1000.0, 0, 0, "Maximum activation time in frame, 0 for unlimited");
-                       uiDefButF(block, NUM, 0, "min", xco+80, yco-84, (width-115)/2, 19, &(coa->minloc[0]), 0.0, 180.0, 10, 1, "Minimum angle (in degree) to maintain with target direction. No correction is done if angle with target direction is between min and max");
-                       uiDefButF(block, NUM, 0, "max", xco+80+(width-115)/2, yco-84, (width-115)/2, 19, &(coa->maxloc[0]), 0.0, 180.0, 10, 1, "Maximum angle (in degree) allowed with target direction. No correction is done if angle with target direction is between min and max");
-               }
-               else if (coa->type == ACT_CONST_TYPE_FH) {
-                       ysize= 106;
+                               uiDefIDPoinBut(block, test_meshpoin_but, ID_ME, 1, "ME:",               xco+40, yco-44, (width-80)/2, 19, &(eoa->me), "replace the existing, when left blank 'Phys' will remake the existing physics mesh");
 
-                       glRects(xco, yco-ysize, xco+width, yco);
-                       uiEmboss((float)xco, (float)yco-ysize, (float)xco+width, (float)yco, 1);
-                       
-                       str= "Direction %t|None %x0|X axis %x1|Y axis %x2|Z axis %x4|-X axis %x8|-Y axis %x16|-Z axis %x32";
-                       uiDefButS(block, MENU, B_REDR, str,             xco+10, yco-65, 70, 19, &coa->mode, 0.0, 0.0, 0, 0, "Set the direction of the ray (in world coordinate)");
-
-                       if (coa->mode & (ACT_CONST_DIRPX|ACT_CONST_DIRNX)) fp= coa->minloc;
-                       else if (coa->mode & (ACT_CONST_DIRPY|ACT_CONST_DIRNY)) fp= coa->minloc+1;
-                       else fp= coa->minloc+2;
-
-                       uiDefButF(block, NUM,           0, "damp",      xco+10, yco-45, (width-70)/2, 19, &coa->maxrot[0], 0.0, 1.0, 1, 0, "Damping factor of the Fh spring force");
-                       uiDefButF(block, NUM,           0, "dist",      xco+10+(width-70)/2, yco-45, (width-70)/2, 19, fp, 0.010, 2000.0, 10, 0, "Height of the Fh area");
-                       uiDefButBitS(block, TOG, ACT_CONST_DOROTFH, 0, "Rot Fh",        xco+10+(width-70), yco-45, 50, 19, &coa->flag, 0.0, 0.0, 0, 0, "Keep object axis parallel to normal");
-
-                       uiDefButF(block, NUMSLI, 0, "Fh ",              xco+80, yco-65, (width-115), 19, fp+3, 0.0, 1.0, 0, 0, "Spring force within the Fh area");
-                       uiDefButBitS(block, TOG, ACT_CONST_NORMAL, 0, "N", xco+80+(width-115), yco-65, 25, 19,
-                                        &coa->flag, 0.0, 0.0, 0, 0, "Add a horizontal spring force on slopes");
-                       uiDefButBitS(block, TOG, ACT_CONST_MATERIAL, B_REDR, "M/P", xco+10, yco-84, 40, 19,
-                                        &coa->flag, 0.0, 0.0, 0, 0, "Detect material instead of property");
-                       if (coa->flag & ACT_CONST_MATERIAL) {
-                               uiDefBut(block, TEX, 1, "Material:", xco + 50, yco-84, (width-60), 19,
-                                       coa->matprop, 0, MAX_NAME, 0, 0,
-                                       "Ray detects only Objects with this material");
+                               uiDefButBitS(block, TOGN, ACT_EDOB_REPLACE_MESH_NOGFX, 0, "Gfx",        xco+40 + (width-80)/2, yco-44, (width-80)/4, 19, &eoa->flag, 0, 0, 0, 0, "Replace the display mesh");
+                               uiDefButBitS(block, TOG, ACT_EDOB_REPLACE_MESH_PHYS, 0, "Phys", xco+40 + (width-80)/2 +(width-80)/4, yco-44, (width-80)/4, 19, &eoa->flag, 0, 0, 0, 0, "Replace the physics mesh (triangle bounds only. compound shapes not supported)");
                        }
-                       else {
-                               uiDefBut(block, TEX, 1, "Property:", xco + 50, yco-84, (width-60), 19,
-                                       coa->matprop, 0, MAX_NAME, 0, 0,
-                                       "Ray detect only Objects with this property");
+                       else if (eoa->type==ACT_EDOB_TRACK_TO) {
+                               ysize= 48;
+                               glRects(xco, yco-ysize, xco+width, yco);
+                               uiEmboss((float)xco, (float)yco-ysize, (float)xco+width, (float)yco, 1);
+
+                               uiDefIDPoinBut(block, test_obpoin_but, ID_OB, 1, "OB:",         xco+10, yco-44, (width-20)/2, 19, &(eoa->ob), "Track to this Object");
+                               uiDefButI(block, NUM, 0, "Time:",       xco+10+(width-20)/2, yco-44, (width-20)/2-40, 19, &eoa->time, 0.0, 2000.0, 0, 0, "Duration the tracking takes");
+                               uiDefButS(block, TOG, 0, "3D",  xco+width-50, yco-44, 40, 19, &eoa->flag, 0.0, 0.0, 0, 0, "Enable 3D tracking");
                        }
-                       uiDefButBitS(block, TOG, ACT_CONST_PERMANENT, 0, "PER", xco+10, yco-103, 40, 19,
-                               &coa->flag, 0.0, 0.0, 0, 0, "Persistent actuator: stays active even if ray does not reach target");
-                       uiDefButS(block, NUM, 0, "time", xco+50, yco-103, 90, 19, &(coa->time), 0.0, 1000.0, 0, 0, "Maximum activation time in frame, 0 for unlimited");
-                       uiDefButF(block, NUM, 0, "rotDamp", xco+140, yco-103, (width-150), 19, &coa->maxrot[1], 0.0, 1.0, 1, 0, "Use a different damping for rotation");
-               }
-               str= "Constraint Type %t|Location %x0|Distance %x1|Orientation %x2|Force field %x3";
-               but = uiDefButS(block, MENU, B_REDR, str,               xco+40, yco-23, (width-80), 19, &coa->type, 0.0, 0.0, 0, 0, "");
-               yco-= ysize;
-               break;
+                       else if (eoa->type==ACT_EDOB_DYNAMICS) {
+                               ysize= 69;
+                               glRects(xco, yco-ysize, xco+width, yco);
+                               uiEmboss((float)xco, (float)yco-ysize, (float)xco+width, (float)yco, 1);
 
-       case ACT_SCENE:
-               sca= act->data;
-               
-               if (sca->type==ACT_SCENE_RESTART) {
-                       ysize= 28;
-                       glRects(xco, yco-ysize, xco+width, yco);
-                       uiEmboss((float)xco, (float)yco-ysize, (float)xco+width, (float)yco, 1);
-               }
-               else if (sca->type==ACT_SCENE_CAMERA) {
+                               str= "Dynamic Operation %t|Restore Dynamics %x0|Suspend Dynamics %x1|Enable Rigid Body %x2|Disable Rigid Body %x3|Set Mass %x4";
+                               uiDefButS(block, MENU, B_REDR, str,             xco+40, yco-44, (width-80), 19,  &(eoa->dyn_operation), 0.0, 0.0, 0, 0, "");
+                               if (eoa->dyn_operation==4) {
+                                       uiDefButF(block, NUM, 0, "",            xco+40, yco-63, width-80, 19,
+                                                 &eoa->mass, 0.0, 10000.0, 10, 0,
+                                                 "Mass for object");
+                               }
+                       }
+                       str= "Edit Object %t|Add Object %x0|End Object %x1|Replace Mesh %x2|Track to %x3|Dynamics %x4";
+                       uiDefButS(block, MENU, B_REDR, str,             xco+40, yco-24, (width-80), 19, &eoa->type, 0.0, 0.0, 0, 0, "");
 
-                       ysize= 48;
-                       glRects(xco, yco-ysize, xco+width, yco);
-                       uiEmboss((float)xco, (float)yco-ysize, (float)xco+width, (float)yco, 1);
+                       yco-= ysize;
 
-                       uiDefIDPoinBut(block, test_obpoin_but, ID_OB, 1, "OB:",         xco+40, yco-44, (width-80), 19, &(sca->camera), "Set this Camera. Leave empty to refer to self object");
-               }
-               else if (sca->type==ACT_SCENE_SET) {
-                       
-                       ysize= 48;
-                       glRects(xco, yco-ysize, xco+width, yco);
-                       uiEmboss((float)xco, (float)yco-ysize, (float)xco+width, (float)yco, 1);
+                       break;
 
-                       uiDefIDPoinBut(block, test_scenepoin_but, ID_SCE, 1, "SCE:",            xco+40, yco-44, (width-80), 19, &(sca->scene), "Set this Scene");
-               }
-               else if (sca->type==ACT_SCENE_ADD_FRONT) {
-                       
-                       ysize= 48;
-                       glRects(xco, yco-ysize, xco+width, yco);
-                       uiEmboss((float)xco, (float)yco-ysize, (float)xco+width, (float)yco, 1);
+               case ACT_CONSTRAINT:
+                       coa= act->data;
 
-                       uiDefIDPoinBut(block, test_scenepoin_but, ID_SCE, 1, "SCE:",            xco+40, yco-44, (width-80), 19, &(sca->scene), "Add an Overlay Scene");
-               }
-               else if (sca->type==ACT_SCENE_ADD_BACK) {
-                       
-                       ysize= 48;
-                       glRects(xco, yco-ysize, xco+width, yco);
-                       uiEmboss((float)xco, (float)yco-ysize, (float)xco+width, (float)yco, 1);
+                       if (coa->type == ACT_CONST_TYPE_LOC) {
+                               ysize= 69;
 
-                       uiDefIDPoinBut(block, test_scenepoin_but, ID_SCE, 1, "SCE:",            xco+40, yco-44, (width-80), 19, &(sca->scene), "Add a Background Scene");
-               }
-               else if (sca->type==ACT_SCENE_REMOVE) {
-                       
-                       ysize= 48;
-                       glRects(xco, yco-ysize, xco+width, yco);
-                       uiEmboss((float)xco, (float)yco-ysize, (float)xco+width, (float)yco, 1);
+                               glRects(xco, yco-ysize, xco+width, yco);
+                               uiEmboss((float)xco, (float)yco-ysize, (float)xco+width, (float)yco, 1);
 
-                       uiDefIDPoinBut(block, test_scenepoin_but, ID_SCE, 1, "SCE:",            xco+40, yco-44, (width-80), 19, &(sca->scene), "Remove a Scene");
-               }
-               else if (sca->type==ACT_SCENE_SUSPEND) {
-                       
-                       ysize= 48;
-                       glRects(xco, yco-ysize, xco+width, yco);
-                       uiEmboss((float)xco, (float)yco-ysize, (float)xco+width, (float)yco, 1);
+                               /*              str= "Limit %t|None %x0|Loc X %x1|Loc Y %x2|Loc Z %x4|Rot X %x8|Rot Y %x16|Rot Z %x32"; */
+                               /*                      coa->flag &= ~(63); */
+                               str= "Limit %t|None %x0|Loc X %x1|Loc Y %x2|Loc Z %x4";
+                               coa->flag &= 7;
+                               coa->time = 0;
+                               uiDefButS(block, MENU, 1, str,          xco+10, yco-65, 70, 19, &coa->flag, 0.0, 0.0, 0, 0, "");
+
+                               uiDefButS(block, NUM,           0, "damp",      xco+10, yco-45, 70, 19, &coa->damp, 0.0, 100.0, 0, 0, "Damping factor: time constant (in frame) of low pass filter");
+                               uiDefBut(block, LABEL,                  0, "Min",       xco+80, yco-45, (width-90)/2, 19, NULL, 0.0, 0.0, 0, 0, "");
+                               uiDefBut(block, LABEL,                  0, "Max",       xco+80+(width-90)/2, yco-45, (width-90)/2, 19, NULL, 0.0, 0.0, 0, 0, "");
+
+                               if (coa->flag & ACT_CONST_LOCX) fp= coa->minloc;
+                               else if (coa->flag & ACT_CONST_LOCY) fp= coa->minloc+1;
+                               else if (coa->flag & ACT_CONST_LOCZ) fp= coa->minloc+2;
+                               else if (coa->flag & ACT_CONST_ROTX) fp= coa->minrot;
+                               else if (coa->flag & ACT_CONST_ROTY) fp= coa->minrot+1;
+                               else fp= coa->minrot+2;
+
+                               uiDefButF(block, NUM, 0, "",            xco+80, yco-65, (width-90)/2, 19, fp, -2000.0, 2000.0, 10, 0, "");
+                               uiDefButF(block, NUM, 0, "",            xco+80+(width-90)/2, yco-65, (width-90)/2, 19, fp+3, -2000.0, 2000.0, 10, 0, "");
+                       }
+                       else if (coa->type == ACT_CONST_TYPE_DIST) {
+                               ysize= 106;
 
-                       uiDefIDPoinBut(block, test_scenepoin_but, ID_SCE, 1, "SCE:",            xco+40, yco-44, (width-80), 19, &(sca->scene), "Pause a Scene");
-               }
-               else if (sca->type==ACT_SCENE_RESUME) {
-                       
-                       ysize= 48;
-                       glRects(xco, yco-ysize, xco+width, yco);
-                       uiEmboss((float)xco, (float)yco-ysize, (float)xco+width, (float)yco, 1);
+                               glRects(xco, yco-ysize, xco+width, yco);
+                               uiEmboss((float)xco, (float)yco-ysize, (float)xco+width, (float)yco, 1);
 
-                       uiDefIDPoinBut(block, test_scenepoin_but, ID_SCE, 1, "SCE:",            xco+40, yco-44, (width-80), 19, &(sca->scene), "Unpause a Scene");
-               }
+                               str= "Direction %t|None %x0|X axis %x1|Y axis %x2|Z axis %x4|-X axis %x8|-Y axis %x16|-Z axis %x32";
+                               uiDefButS(block, MENU, B_REDR, str,             xco+10, yco-65, 70, 19, &coa->mode, 0.0, 0.0, 0, 0, "Set the direction of the ray");
+
+                               uiDefButS(block, NUM,           0, "damp",      xco+10, yco-45, 70, 19, &coa->damp, 0.0, 100.0, 0, 0, "Damping factor: time constant (in frame) of low pass filter");
+                               uiDefBut(block, LABEL,                  0, "Range",     xco+80, yco-45, (width-115)/2, 19, NULL, 0.0, 0.0, 0, 0, "Set the maximum length of ray");
+                               uiDefButBitS(block, TOG, ACT_CONST_DISTANCE, B_REDR, "Dist",    xco+80+(width-115)/2, yco-45, (width-115)/2, 19, &coa->flag, 0.0, 0.0, 0, 0, "Force distance of object to point of impact of ray");
+                               uiDefButBitS(block, TOG, ACT_CONST_LOCAL, 0, "L", xco+80+(width-115), yco-45, 25, 19,
+                                            &coa->flag, 0.0, 0.0, 0, 0, "Set ray along object's axis or global axis");
+
+                               if (coa->mode & (ACT_CONST_DIRPX|ACT_CONST_DIRNX)) fp= coa->minloc;
+                               else if (coa->mode & (ACT_CONST_DIRPY|ACT_CONST_DIRNY)) fp= coa->minloc+1;
+                               else fp= coa->minloc+2;
+
+                               uiDefButF(block, NUM, 0, "",            xco+80, yco-65, (width-115)/2, 19, fp+3, 0.0, 2000.0, 10, 0, "Maximum length of ray");
+                               if (coa->flag & ACT_CONST_DISTANCE)
+                                       uiDefButF(block, NUM, 0, "",            xco+80+(width-115)/2, yco-65, (width-115)/2, 19, fp, -2000.0, 2000.0, 10, 0, "Keep this distance to target");
+                               uiDefButBitS(block, TOG, ACT_CONST_NORMAL, 0, "N", xco+80+(width-115), yco-65, 25, 19,
+                                            &coa->flag, 0.0, 0.0, 0, 0, "Set object axis along (local axis) or parallel (global axis) to the normal at hit position");
+                               uiDefButBitS(block, TOG, ACT_CONST_MATERIAL, B_REDR, "M/P", xco+10, yco-84, 40, 19,
+                                            &coa->flag, 0.0, 0.0, 0, 0, "Detect material instead of property");
+                               if (coa->flag & ACT_CONST_MATERIAL) {
+                                       uiDefBut(block, TEX, 1, "Material:", xco + 50, yco-84, (width-60), 19,
+                                                coa->matprop, 0, MAX_NAME, 0, 0,
+                                                "Ray detects only Objects with this material");
+                               }
+                               else {
+                                       uiDefBut(block, TEX, 1, "Property:", xco + 50, yco-84, (width-60), 19,
+                                                coa->matprop, 0, MAX_NAME, 0, 0,
+                                                "Ray detect only Objects with this property");
+                               }
+                               uiDefButBitS(block, TOG, ACT_CONST_PERMANENT, 0, "PER", xco+10, yco-103, 40, 19,
+                                            &coa->flag, 0.0, 0.0, 0, 0, "Persistent actuator: stays active even if ray does not reach target");
+                               uiDefButS(block, NUM, 0, "time", xco+50, yco-103, (width-60)/2, 19, &(coa->time), 0.0, 1000.0, 0, 0, "Maximum activation time in frame, 0 for unlimited");
+                               uiDefButS(block, NUM, 0, "rotDamp", xco+50+(width-60)/2, yco-103, (width-60)/2, 19, &(coa->rotdamp), 0.0, 100.0, 0, 0, "Use a different damping for orientation");
+                       }
+                       else if (coa->type == ACT_CONST_TYPE_ORI) {
+                               ysize= 87;
+
+                               glRects(xco, yco-ysize, xco+width, yco);
+                               uiEmboss((float)xco, (float)yco-ysize, (float)xco+width, (float)yco, 1);
 
-               str= "Scene %t|Restart %x0|Set Scene %x1|Set Camera %x2|Add OverlayScene %x3|Add BackgroundScene %x4|Remove Scene %x5|Suspend Scene %x6|Resume Scene %x7";
-               uiDefButS(block, MENU, B_REDR, str,             xco+40, yco-24, (width-80), 19, &sca->type, 0.0, 0.0, 0, 0, ""); 
+                               str= "Direction %t|None %x0|X axis %x1|Y axis %x2|Z axis %x4";
+                               uiDefButS(block, MENU, B_REDR, str,             xco+10, yco-65, 70, 19, &coa->mode, 0.0, 0.0, 0, 0, "Select the axis to be aligned along the reference direction");
 
-                 yco-= ysize; 
-                 break; 
-       case ACT_GAME:
+                               uiDefButS(block, NUM,           0, "damp",      xco+10, yco-45, 70, 19, &coa->damp, 0.0, 100.0, 0, 0, "Damping factor: time constant (in frame) of low pass filter");
+                               uiDefBut(block, LABEL,                  0, "X", xco+80, yco-45, (width-115)/3, 19, NULL, 0.0, 0.0, 0, 0, "");
+                               uiDefBut(block, LABEL,                  0, "Y", xco+80+(width-115)/3, yco-45, (width-115)/3, 19, NULL, 0.0, 0.0, 0, 0, "");
+                               uiDefBut(block, LABEL,                  0, "Z", xco+80+2*(width-115)/3, yco-45, (width-115)/3, 19, NULL, 0.0, 0.0, 0, 0, "");
+
+                               uiDefButF(block, NUM, 0, "",            xco+80, yco-65, (width-115)/3, 19, &coa->maxrot[0], -2000.0, 2000.0, 10, 0, "X component of reference direction");
+                               uiDefButF(block, NUM, 0, "",            xco+80+(width-115)/3, yco-65, (width-115)/3, 19, &coa->maxrot[1], -2000.0, 2000.0, 10, 0, "Y component of reference direction");
+                               uiDefButF(block, NUM, 0, "",            xco+80+2*(width-115)/3, yco-65, (width-115)/3, 19, &coa->maxrot[2], -2000.0, 2000.0, 10, 0, "Z component of reference direction");
+
+                               uiDefButS(block, NUM, 0, "time", xco+10, yco-84, 70, 19, &(coa->time), 0.0, 1000.0, 0, 0, "Maximum activation time in frame, 0 for unlimited");
+                               uiDefButF(block, NUM, 0, "min", xco+80, yco-84, (width-115)/2, 19, &(coa->minloc[0]), 0.0, 180.0, 10, 1, "Minimum angle (in degree) to maintain with target direction. No correction is done if angle with target direction is between min and max");
+                               uiDefButF(block, NUM, 0, "max", xco+80+(width-115)/2, yco-84, (width-115)/2, 19, &(coa->maxloc[0]), 0.0, 180.0, 10, 1, "Maximum angle (in degree) allowed with target direction. No correction is done if angle with target direction is between min and max");
+                       }
+                       else if (coa->type == ACT_CONST_TYPE_FH) {
+                               ysize= 106;
+
+                               glRects(xco, yco-ysize, xco+width, yco);
+                               uiEmboss((float)xco, (float)yco-ysize, (float)xco+width, (float)yco, 1);
+
+                               str= "Direction %t|None %x0|X axis %x1|Y axis %x2|Z axis %x4|-X axis %x8|-Y axis %x16|-Z axis %x32";
+                               uiDefButS(block, MENU, B_REDR, str,             xco+10, yco-65, 70, 19, &coa->mode, 0.0, 0.0, 0, 0, "Set the direction of the ray (in world coordinate)");
+
+                               if (coa->mode & (ACT_CONST_DIRPX|ACT_CONST_DIRNX)) fp= coa->minloc;
+                               else if (coa->mode & (ACT_CONST_DIRPY|ACT_CONST_DIRNY)) fp= coa->minloc+1;
+                               else fp= coa->minloc+2;
+
+                               uiDefButF(block, NUM,           0, "damp",      xco+10, yco-45, (width-70)/2, 19, &coa->maxrot[0], 0.0, 1.0, 1, 0, "Damping factor of the Fh spring force");
+                               uiDefButF(block, NUM,           0, "dist",      xco+10+(width-70)/2, yco-45, (width-70)/2, 19, fp, 0.010, 2000.0, 10, 0, "Height of the Fh area");
+                               uiDefButBitS(block, TOG, ACT_CONST_DOROTFH, 0, "Rot Fh",        xco+10+(width-70), yco-45, 50, 19, &coa->flag, 0.0, 0.0, 0, 0, "Keep object axis parallel to normal");
+
+                               uiDefButF(block, NUMSLI, 0, "Fh ",              xco+80, yco-65, (width-115), 19, fp+3, 0.0, 1.0, 0, 0, "Spring force within the Fh area");
+                               uiDefButBitS(block, TOG, ACT_CONST_NORMAL, 0, "N", xco+80+(width-115), yco-65, 25, 19,
+                                            &coa->flag, 0.0, 0.0, 0, 0, "Add a horizontal spring force on slopes");
+                               uiDefButBitS(block, TOG, ACT_CONST_MATERIAL, B_REDR, "M/P", xco+10, yco-84, 40, 19,
+                                            &coa->flag, 0.0, 0.0, 0, 0, "Detect material instead of property");
+                               if (coa->flag & ACT_CONST_MATERIAL) {
+                                       uiDefBut(block, TEX, 1, "Material:", xco + 50, yco-84, (width-60), 19,
+                                                coa->matprop, 0, MAX_NAME, 0, 0,
+                                                "Ray detects only Objects with this material");
+                               }
+                               else {
+                                       uiDefBut(block, TEX, 1, "Property:", xco + 50, yco-84, (width-60), 19,
+                                                coa->matprop, 0, MAX_NAME, 0, 0,
+                                                "Ray detect only Objects with this property");
+                               }
+                               uiDefButBitS(block, TOG, ACT_CONST_PERMANENT, 0, "PER", xco+10, yco-103, 40, 19,
+                                            &coa->flag, 0.0, 0.0, 0, 0, "Persistent actuator: stays active even if ray does not reach target");
+                               uiDefButS(block, NUM, 0, "time", xco+50, yco-103, 90, 19, &(coa->time), 0.0, 1000.0, 0, 0, "Maximum activation time in frame, 0 for unlimited");
+                               uiDefButF(block, NUM, 0, "rotDamp", xco+140, yco-103, (width-150), 19, &coa->maxrot[1], 0.0, 1.0, 1, 0, "Use a different damping for rotation");
+                       }
+                       str= "Constraint Type %t|Location %x0|Distance %x1|Orientation %x2|Force field %x3";
+                       but = uiDefButS(block, MENU, B_REDR, str,               xco+40, yco-23, (width-80), 19, &coa->type, 0.0, 0.0, 0, 0, "");
+                       yco-= ysize;
+                       break;
+
+               case ACT_SCENE:
+                       sca= act->data;
+
+                       if (sca->type==ACT_SCENE_RESTART) {
+                               ysize= 28;
+                               glRects(xco, yco-ysize, xco+width, yco);
+                               uiEmboss((float)xco, (float)yco-ysize, (float)xco+width, (float)yco, 1);
+                       }
+                       else if (sca->type==ACT_SCENE_CAMERA) {
+
+                               ysize= 48;
+                               glRects(xco, yco-ysize, xco+width, yco);
+                               uiEmboss((float)xco, (float)yco-ysize, (float)xco+width, (float)yco, 1);
+
+                               uiDefIDPoinBut(block, test_obpoin_but, ID_OB, 1, "OB:",         xco+40, yco-44, (width-80), 19, &(sca->camera), "Set this Camera. Leave empty to refer to self object");
+                       }
+                       else if (sca->type==ACT_SCENE_SET) {
+
+                               ysize= 48;
+                               glRects(xco, yco-ysize, xco+width, yco);
+                               uiEmboss((float)xco, (float)yco-ysize, (float)xco+width, (float)yco, 1);
+
+                               uiDefIDPoinBut(block, test_scenepoin_but, ID_SCE, 1, "SCE:",            xco+40, yco-44, (width-80), 19, &(sca->scene), "Set this Scene");
+                       }
+                       else if (sca->type==ACT_SCENE_ADD_FRONT) {
+
+                               ysize= 48;
+                               glRects(xco, yco-ysize, xco+width, yco);
+                               uiEmboss((float)xco, (float)yco-ysize, (float)xco+width, (float)yco, 1);
+
+                               uiDefIDPoinBut(block, test_scenepoin_but, ID_SCE, 1, "SCE:",            xco+40, yco-44, (width-80), 19, &(sca->scene), "Add an Overlay Scene");
+                       }
+                       else if (sca->type==ACT_SCENE_ADD_BACK) {
+
+                               ysize= 48;
+                               glRects(xco, yco-ysize, xco+width, yco);
+                               uiEmboss((float)xco, (float)yco-ysize, (float)xco+width, (float)yco, 1);
+
+                               uiDefIDPoinBut(block, test_scenepoin_but, ID_SCE, 1, "SCE:",            xco+40, yco-44, (width-80), 19, &(sca->scene), "Add a Background Scene");
+                       }
+                       else if (sca->type==ACT_SCENE_REMOVE) {
+
+                               ysize= 48;
+                               glRects(xco, yco-ysize, xco+width, yco);
+                               uiEmboss((float)xco, (float)yco-ysize, (float)xco+width, (float)yco, 1);
+
+                               uiDefIDPoinBut(block, test_scenepoin_but, ID_SCE, 1, "SCE:",            xco+40, yco-44, (width-80), 19, &(sca->scene), "Remove a Scene");
+                       }
+                       else if (sca->type==ACT_SCENE_SUSPEND) {
+
+                               ysize= 48;
+                               glRects(xco, yco-ysize, xco+width, yco);
+                               uiEmboss((float)xco, (float)yco-ysize, (float)xco+width, (float)yco, 1);
+
+                               uiDefIDPoinBut(block, test_scenepoin_but, ID_SCE, 1, "SCE:",            xco+40, yco-44, (width-80), 19, &(sca->scene), "Pause a Scene");
+                       }
+                       else if (sca->type==ACT_SCENE_RESUME) {
+
+                               ysize= 48;
+                               glRects(xco, yco-ysize, xco+width, yco);
+                               uiEmboss((float)xco, (float)yco-ysize, (float)xco+width, (float)yco, 1);
+
+                               uiDefIDPoinBut(block, test_scenepoin_but, ID_SCE, 1, "SCE:",            xco+40, yco-44, (width-80), 19, &(sca->scene), "Unpause a Scene");
+                       }
+
+                       str= "Scene %t|Restart %x0|Set Scene %x1|Set Camera %x2|Add OverlayScene %x3|Add BackgroundScene %x4|Remove Scene %x5|Suspend Scene %x6|Resume Scene %x7";
+                       uiDefButS(block, MENU, B_REDR, str,             xco+40, yco-24, (width-80), 19, &sca->type, 0.0, 0.0, 0, 0, "");
+
+                       yco-= ysize;
+                       break;
+               case ACT_GAME:
                {
                        gma = act->data;
                        if (gma->type == ACT_GAME_LOAD) {
                                //ysize = 68;
                                ysize = 48;
-                               glRects(xco, yco-ysize, xco+width, yco); 
-                               uiEmboss((float)xco, (float)yco-ysize, (float)xco+width, (float)yco, 1); 
-                                  uiDefBut(block, TEX, 1, "File: ", xco+10, yco-44, width-20, 19, &(gma->filename), 0, sizeof(gma->filename), 0, 0, "Load this blend file, use the \"//\" prefix for a path relative to the current blend file");
-//                             uiDefBut(block, TEX, 1, "Anim: ", xco+10, yco-64, width-20, 19, &(gma->loadaniname), 0, sizeof(gma->loadaniname), 0, 0, "Use this loadinganimation");
+                               glRects(xco, yco-ysize, xco+width, yco);
+                               uiEmboss((float)xco, (float)yco-ysize, (float)xco+width, (float)yco, 1);
+                               uiDefBut(block, TEX, 1, "File: ", xco+10, yco-44, width-20, 19, &(gma->filename), 0, sizeof(gma->filename), 0, 0, "Load this blend file, use the \"//\" prefix for a path relative to the current blend file");
+                               //                              uiDefBut(block, TEX, 1, "Anim: ", xco+10, yco-64, width-20, 19, &(gma->loadaniname), 0, sizeof(gma->loadaniname), 0, 0, "Use this loadinganimation");
                        }
 #if 0
                        else if (gma->type == ACT_GAME_START) {
-                               ysize = 68; 
-                               glRects(xco, yco-ysize, xco+width, yco); 
+                               ysize = 68;
+                               glRects(xco, yco-ysize, xco+width, yco);
                                uiEmboss((float)xco, (float)yco-ysize, (float)xco+width, (float)yco, 1);
 
-                                  uiDefBut(block, TEX, 1, "File: ", xco+10, yco-44, width-20, 19, &(gma->filename), 0, sizeof(gma->filename), 0, 0, "Load this file");
+                               uiDefBut(block, TEX, 1, "File: ", xco+10, yco-44, width-20, 19, &(gma->filename), 0, sizeof(gma->filename), 0, 0, "Load this file");
                                uiDefBut(block, TEX, 1, "Anim: ", xco+10, yco-64, width-20, 19, &(gma->loadaniname), 0, sizeof(gma->loadaniname), 0, 0, "Use this loadinganimation");
                        }
 #endif
                        else if (ELEM4(gma->type, ACT_GAME_RESTART, ACT_GAME_QUIT, ACT_GAME_SAVECFG, ACT_GAME_LOADCFG)) {
-                               ysize = 28; 
-                               glRects(xco, yco-ysize, xco+width, yco); 
-                               uiEmboss((float)xco, (float)yco-ysize, (float)xco+width, (float)yco, 1); 
+                               ysize = 28;
+                               glRects(xco, yco-ysize, xco+width, yco);
+                               uiEmboss((float)xco, (float)yco-ysize, (float)xco+width, (float)yco, 1);
                        }
 
                        //str = "Scene %t|Load game%x0|Start loaded game%x1|Restart this game%x2|Quit this game %x3";
                        str = "Scene %t|Start new game%x0|Restart this game%x2|Quit this game %x3|Save bge.logic.globalDict %x4|Load bge.logic.globalDict %x5";
-                       uiDefButS(block, MENU, B_REDR, str, xco+40, yco-24, (width-80), 19, &gma->type, 0.0, 0.0, 0, 0, ""); 
+                       uiDefButS(block, MENU, B_REDR, str, xco+40, yco-24, (width-80), 19, &gma->type, 0.0, 0.0, 0, 0, "");
                        
-                       yco -= ysize; 
-                       break; 
+                       yco -= ysize;
+                       break;
                }
-       case ACT_GROUP:
-               ga= act->data;
+               case ACT_GROUP:
+                       ga= act->data;
 
-               ysize= 52;
+                       ysize= 52;
 
-               glRects(xco, yco-ysize, xco+width, yco);
-               uiEmboss((float)xco, (float)yco-ysize, (float)xco+width, (float)yco, 1);
-               
-               str= "GroupKey types   %t|Set Key %x6|Play %x0|Ping Pong %x1|Flipper %x2|Loop Stop %x3|Loop End %x4|Property %x5";
+                       glRects(xco, yco-ysize, xco+width, yco);
+                       uiEmboss((float)xco, (float)yco-ysize, (float)xco+width, (float)yco, 1);
 
-               uiDefButS(block, MENU, 1, str,                  xco+20, yco-24, width-40, 19, &ga->type, 0, 0, 0, 0, "");
-               if (ga->type==ACT_GROUP_SET) {
-                       uiDefBut(block, TEX, 0, "Key: ",                xco+20, yco-44, (width-10)/2, 19, ga->name, 0.0, MAX_NAME, 0, 0, "This name defines groupkey to be set");
-                       uiDefButI(block, NUM, 0, "Frame:",      xco+20+(width-10)/2, yco-44, (width-70)/2, 19, &ga->sta, 0.0, 2500.0, 0, 0, "Set this frame");
-               }
-               else if (ga->type==ACT_GROUP_FROM_PROP) {
-                       uiDefBut(block, TEX, 0, "Prop: ",               xco+20, yco-44, width-40, 19, ga->name, 0.0, MAX_NAME, 0, 0, "Use this property to define the Group position");
-               }
-               else {
-                       uiDefButI(block, NUM, 0, "State",               xco+20, yco-44, (width-40)/2, 19, &ga->sta, 0.0, 2500.0, 0, 0, "Start frame");
-                       uiDefButI(block, NUM, 0, "End",         xco+20+(width-40)/2, yco-44, (width-40)/2, 19, &ga->end, 0.0, 2500.0, 0, 0, "End frame");
-               }
-               yco-= ysize;
-               break;
+                       str= "GroupKey types   %t|Set Key %x6|Play %x0|Ping Pong %x1|Flipper %x2|Loop Stop %x3|Loop End %x4|Property %x5";
 
-       case ACT_VISIBILITY:
-               ysize = 24;
+                       uiDefButS(block, MENU, 1, str,                  xco+20, yco-24, width-40, 19, &ga->type, 0, 0, 0, 0, "");
+                       if (ga->type==ACT_GROUP_SET) {
+                               uiDefBut(block, TEX, 0, "Key: ",                xco+20, yco-44, (width-10)/2, 19, ga->name, 0.0, MAX_NAME, 0, 0, "This name defines groupkey to be set");
+                               uiDefButI(block, NUM, 0, "Frame:",      xco+20+(width-10)/2, yco-44, (width-70)/2, 19, &ga->sta, 0.0, 2500.0, 0, 0, "Set this frame");
+                       }
+                       else if (ga->type==ACT_GROUP_FROM_PROP) {
+                               uiDefBut(block, TEX, 0, "Prop: ",               xco+20, yco-44, width-40, 19, ga->name, 0.0, MAX_NAME, 0, 0, "Use this property to define the Group position");
+                       }
+                       else {
+                               uiDefButI(block, NUM, 0, "State",               xco+20, yco-44, (width-40)/2, 19, &ga->sta, 0.0, 2500.0, 0, 0, "Start frame");
+                               uiDefButI(block, NUM, 0, "End",         xco+20+(width-40)/2, yco-44, (width-40)/2, 19, &ga->end, 0.0, 2500.0, 0, 0, "End frame");
+                       }
+                       yco-= ysize;
+                       break;
 
-               glRects(xco, yco-ysize, xco+width, yco);
-               uiEmboss((float)xco,
-                        (float)yco-ysize, (float)xco+width, (float)yco, 1);
-               
-               visAct = act->data;
+               case ACT_VISIBILITY:
+                       ysize = 24;
 
-               uiBlockBeginAlign(block);
-               uiDefButBitI(block, TOGN, ACT_VISIBILITY_INVISIBLE, B_REDR,
-                         "Visible",
-                         xco + 10, yco - 20, (width - 20)/3, 19, &visAct->flag,
-                         0.0, 0.0, 0, 0,
-                         "Set the objects visible. Initialized from the objects render restriction toggle (access in the outliner)");
-               uiDefButBitI(block, TOG, ACT_VISIBILITY_OCCLUSION, B_REDR,
-                         "Occlusion",
-                         xco + 10 + ((width - 20)/3), yco - 20, (width - 20)/3, 19, &visAct->flag,
-                         0.0, 0.0, 0, 0,
-                         "Set the object to occlude objects behind it. Initialized from the object type in physics button");
-               uiBlockEndAlign(block);
-               
-               uiDefButBitI(block, TOG, ACT_VISIBILITY_RECURSIVE, 0,
-                         "Children",
-                         xco + 10 + (((width - 20)/3)*2)+10, yco - 20, ((width - 20)/3)-10, 19, &visAct->flag,
-                         0.0, 0.0, 0, 0,
-                         "Sets all the children of this object to the same visibility/occlusion recursively");
+                       glRects(xco, yco-ysize, xco+width, yco);
+                       uiEmboss((float)xco,
+                                (float)yco-ysize, (float)xco+width, (float)yco, 1);
 
-               yco-= ysize;
+                       visAct = act->data;
 
-               break;
-               
-       case ACT_STATE:
-               ysize = 34;
+                       uiBlockBeginAlign(block);
+                       uiDefButBitI(block, TOGN, ACT_VISIBILITY_INVISIBLE, B_REDR,
+                                    "Visible",
+                                    xco + 10, yco - 20, (width - 20)/3, 19, &visAct->flag,
+                                    0.0, 0.0, 0, 0,
+                                    "Set the objects visible. Initialized from the objects render restriction toggle (access in the outliner)");
+                       uiDefButBitI(block, TOG, ACT_VISIBILITY_OCCLUSION, B_REDR,
+                                    "Occlusion",
+                                    xco + 10 + ((width - 20)/3), yco - 20, (width - 20)/3, 19, &visAct->flag,
+                                    0.0, 0.0, 0, 0,
+                                    "Set the object to occlude objects behind it. Initialized from the object type in physics button");
+                       uiBlockEndAlign(block);
 
-               glRects(xco, yco-ysize, xco+width, yco);
-               uiEmboss((float)xco,
-                        (float)yco-ysize, (float)xco+width, (float)yco, 1);
-               
-               staAct = act->data;
+                       uiDefButBitI(block, TOG, ACT_VISIBILITY_RECURSIVE, 0,
+                                    "Children",
+                                    xco + 10 + (((width - 20)/3)*2)+10, yco - 20, ((width - 20)/3)-10, 19, &visAct->flag,
+                                    0.0, 0.0, 0, 0,
+                                    "Sets all the children of this object to the same visibility/occlusion recursively");
 
-               str= "Operation %t|Cpy %x0|Add %x1|Sub %x2|Inv %x3";
+                       yco-= ysize;
 
-               uiDefButI(block, MENU, B_REDR, str,
-                         xco + 10, yco - 24, 65, 19, &staAct->type,
-                         0.0, 0.0, 0, 0,
-                         "Select the bit operation on object state mask");
+                       break;
 
-               for (wval=0; wval<15; wval+=5) {
-                       uiBlockBeginAlign(block);
-                       for (stbit=0; stbit<5; stbit++) {
-                               but = uiDefButBitI(block,  TOG, 1<<(stbit+wval), stbit+wval, "",        (short)(xco+85+12*stbit+13*wval), yco-17, 12, 12, (int *)&(staAct->mask), 0, 0, 0, 0, get_state_name(ob, (short)(stbit+wval)));
-                               uiButSetFunc(but, check_state_mask, but, &(staAct->mask));
-                       }
-                       for (stbit=0; stbit<5; stbit++) {
-                               but = uiDefButBitI(block, TOG, 1<<(stbit+wval+15), stbit+wval+15, "",   (short)(xco+85+12*stbit+13*wval), yco-29, 12, 12, (int *)&(staAct->mask), 0, 0, 0, 0, get_state_name(ob, (short)(stbit+wval+15)));
-                               uiButSetFunc(but, check_state_mask, but, &(staAct->mask));
-                       }
-               }
-               uiBlockEndAlign(block);
+               case ACT_STATE:
+                       ysize = 34;
 
-               yco-= ysize;
+                       glRects(xco, yco-ysize, xco+width, yco);
+                       uiEmboss((float)xco,
+                                (float)yco-ysize, (float)xco+width, (float)yco, 1);
 
-               break;
+                       staAct = act->data;
 
-       case ACT_RANDOM:
-               ysize  = 69;
+                       str= "Operation %t|Cpy %x0|Add %x1|Sub %x2|Inv %x3";
+
+                       uiDefButI(block, MENU, B_REDR, str,
+                                 xco + 10, yco - 24, 65, 19, &staAct->type,
+                                 0.0, 0.0, 0, 0,
+                                 "Select the bit operation on object state mask");
+
+                       for (wval=0; wval<15; wval+=5) {
+                               uiBlockBeginAlign(block);
+                               for (stbit=0; stbit<5; stbit++) {
+                                       but = uiDefButBitI(block,  TOG, 1<<(stbit+wval), stbit+wval, "",        (short)(xco+85+12*stbit+13*wval), yco-17, 12, 12, (int *)&(staAct->mask), 0, 0, 0, 0, get_state_name(ob, (short)(stbit+wval)));
+                                       uiButSetFunc(but, check_state_mask, but, &(staAct->mask));
+                               }
+                               for (stbit=0; stbit<5; stbit++) {
+                                       but = uiDefButBitI(block, TOG, 1<<(stbit+wval+15), stbit+wval+15, "",   (short)(xco+85+12*stbit+13*wval), yco-29, 12, 12, (int *)&(staAct->mask), 0, 0, 0, 0, get_state_name(ob, (short)(stbit+wval+15)));
+                                       uiButSetFunc(but, check_state_mask, but, &(staAct->mask));
+                               }
+                       }
+                       uiBlockEndAlign(block);
+
+                       yco-= ysize;
 
-               glRects(xco, yco-ysize, xco+width, yco);
-               uiEmboss((float)xco,
-                                 (float)yco-ysize, (float)xco+width, (float)yco, 1);
-               
-               randAct = act->data;
-
-               /* 1. seed */
-               uiDefButI(block, NUM, 1, "Seed: ",              (xco+10), yco-24, 0.4 *(width-20), 19,
-                                &randAct->seed, 0, 1000, 0, 0,
-                                "Initial seed of the random generator. Use Python for more freedom. "
-                                " (Choose 0 for not random)");
-
-               /* 2. distribution type */
-               /* One pick per distribution. These numbers MUST match the #defines  */
-               /* in game.h !!!                                                     */
-               str= "Distribution %t|Bool Constant %x0|Bool Uniform %x1"
-                       "|Bool Bernoulli %x2|Int Constant %x3|Int Uniform %x4"
-                       "|Int Poisson %x5|Float Constant %x6|Float Uniform %x7"
-                       "|Float Normal %x8|Float Neg. Exp. %x9";
-               uiDefButI(block, MENU, B_REDR, str, (xco+10) + 0.4 * (width-20), yco-24, 0.6 * (width-20), 19,
-                                &randAct->distribution, 0.0, 0.0, 0, 0,
-                                "Choose the type of distribution");
-
-               /* 3. property */
-               uiDefBut(block, TEX, 1, "Property:", (xco+10), yco-44, (width-20), 19,
-                                &randAct->propname, 0, MAX_NAME, 0, 0,
-                                "Assign the random value to this property"); 
-
-               /*4. and 5. arguments for the distribution*/
-               switch (randAct->distribution) {
-               case ACT_RANDOM_BOOL_CONST:
-                       uiDefButBitI(block, TOG, 1, 1, "Always true", (xco+10), yco-64, (width-20), 19,
-                                        &randAct->int_arg_1, 2.0, 1, 0, 0,
-                                        "Always false or always true");                        
-                       break;
-               case ACT_RANDOM_BOOL_UNIFORM:
-                       uiDefBut(block, LABEL, 0, "     Do a 50-50 pick",       (xco+10), yco-64, (width-20), 19,
-                                        NULL, 0, 0, 0, 0,
-                                        "Choose between true and false, 50% chance each");
-                       break;
-               case ACT_RANDOM_BOOL_BERNOUILLI:
-                       uiDefButF(block, NUM, 1, "Chance", (xco+10), yco-64, (width-20), 19,
-                                        &randAct->float_arg_1, 0.0, 1.0, 0, 0,
-                                        "Pick a number between 0 and 1. Success if you stay "
-                                        "below this value");                   
-                       break;
-               case ACT_RANDOM_INT_CONST:
-                       uiDefButI(block, NUM, 1, "Value: ",             (xco+10), yco-64, (width-20), 19,
-                                        &randAct->int_arg_1, -1000, 1000, 0, 0,
-                                        "Always return this number");
-                       break;
-               case ACT_RANDOM_INT_UNIFORM:
-                       uiDefButI(block, NUM, 1, "Min: ",               (xco+10), yco-64, (width-20)/2, 19,
-                                        &randAct->int_arg_1, -1000, 1000, 0, 0,
-                                        "Choose a number from a range. "
-                                        "Lower boundary of the range");
-                       uiDefButI(block, NUM, 1, "Max: ",               (xco+10) + (width-20)/2, yco-64, (width-20)/2, 19,
-                                        &randAct->int_arg_2, -1000, 1000, 0, 0,
-                                        "Choose a number from a range. "
-                                        "Upper boundary of the range");
-                       break;
-               case ACT_RANDOM_INT_POISSON:
-                       uiDefButF(block, NUM, 1, "Mean: ", (xco+10), yco-64, (width-20), 19,
-                                        &randAct->float_arg_1, 0.01, 100.0, 0, 0,
-                                        "Expected mean value of the distribution");                                            
-                       break;
-               case ACT_RANDOM_FLOAT_CONST:
-                       uiDefButF(block, NUM, 1, "Value: ", (xco+10), yco-64, (width-20), 19,
-                                        &randAct->float_arg_1, 0.0, 1.0, 0, 0,
-                                        "Always return this number");
-                       break;
-               case ACT_RANDOM_FLOAT_UNIFORM:
-                       uiDefButF(block, NUM, 1, "Min: ",               (xco+10), yco-64, (width-20)/2, 19,
-                                        &randAct->float_arg_1, -10000.0, 10000.0, 0, 0,
-                                        "Choose a number from a range"
-                                        "Lower boundary of the range");
-                       uiDefButF(block, NUM, 1, "Max: ",               (xco+10) + (width-20)/2, yco-64, (width-20)/2, 19,
-                                        &randAct->float_arg_2, -10000.0, 10000.0, 0, 0,
-                                        "Choose a number from a range"
-                                        "Upper boundary of the range");
-                       break;
-               case ACT_RANDOM_FLOAT_NORMAL:
-                       uiDefButF(block, NUM, 1, "Mean: ",              (xco+10), yco-64, (width-20)/2, 19,
-                                        &randAct->float_arg_1, -10000.0, 10000.0, 0, 0,
-                                        "A normal distribution. Mean of the distribution");
-                       uiDefButF(block, NUM, 1, "SD: ",                (xco+10) + (width-20)/2, yco-64, (width-20)/2, 19,
-                                        &randAct->float_arg_2, 0.0, 10000.0, 0, 0,
-                                        "A normal distribution. Standard deviation of the "
-                                        "distribution");
-                       break;
-               case ACT_RANDOM_FLOAT_NEGATIVE_EXPONENTIAL:
-                       uiDefButF(block, NUM, 1, "Half-life time: ", (xco+10), yco-64, (width-20), 19,
-                                        &randAct->float_arg_1, 0.001, 10000.0, 0, 0,
-                                        "Negative exponential dropoff");
                        break;
-               default:
-                       ; /* don't know what this distro is... can be useful for testing */
-                       /* though :)                                                     */
-               }
 
-               yco-= ysize;
-               break;
-       case ACT_MESSAGE:
-               ma = act->data;
+               case ACT_RANDOM:
+                       ysize  = 69;
 
-               ysize = 4 + (3 * 24); /* footer + number of lines * 24 pixels/line */
-       
-               glRects(xco, yco-ysize, xco+width, yco);
-               uiEmboss((float)xco,        (float)yco-ysize,
-                                (float)xco+width,  (float)yco, 1);
-
-               myline=1;
-
-               /* line 1: To */
-               uiDefBut(block, TEX, 1, "To: ",
-                       (xco+10), (yco-(myline++*24)), (width-20), 19,
-                       &ma->toPropName, 0, MAX_NAME, 0, 0,
-                       "Optional send message to objects with this name only, or empty to broadcast");
-
-               /* line 2: Message Subject */
-               uiDefBut(block, TEX, 1, "Subject: ",
-               (xco+10), (yco-(myline++*24)), (width-20), 19,
-               &ma->subject, 0, MAX_NAME, 0, 0,
-               "Optional message subject. This is what can be filtered on");
-
-               /* line 3: Text/Property */
-               uiDefButBitS(block, TOG, 1, B_REDR, "T/P",
-                       (xco+10), (yco-(myline*24)), (0.20 * (width-20)), 19,
-                       &ma->bodyType, 0.0, 0.0, 0, 0,
-                       "Toggle message type: either Text or a PropertyName");
-
-               if (ma->bodyType == ACT_MESG_MESG) {
-                       /* line 3: Message Body */
-                       uiDefBut(block, TEX, 1, "Body: ",
-                       (xco+10+(0.20*(width-20))), (yco-(myline++*24)), (0.8*(width-20)), 19,
-                       &ma->body, 0, MAX_NAME, 0, 0,
-                       "Optional message body Text");
-               }
-               else {
-                       /* line 3: Property body (set by property) */
-                       uiDefBut(block, TEX, 1, "Propname: ",
-                       (xco+10+(0.20*(width-20))), (yco-(myline++*24)), (0.8*(width-20)), 19,
-                       &ma->body, 0, MAX_NAME, 0, 0,
-                       "The message body will be set by the Property Value");
-               }
-               
-               yco -= ysize;
-               break;
-       case ACT_2DFILTER:
-               tdfa = act->data;
+                       glRects(xco, yco-ysize, xco+width, yco);
+                       uiEmboss((float)xco,
+                                (float)yco-ysize, (float)xco+width, (float)yco, 1);
+
+                       randAct = act->data;
+
+                       /* 1. seed */
+                       uiDefButI(block, NUM, 1, "Seed: ",              (xco+10), yco-24, 0.4 *(width-20), 19,
+                                 &randAct->seed, 0, 1000, 0, 0,
+                                 "Initial seed of the random generator. Use Python for more freedom. "
+                                 " (Choose 0 for not random)");
+
+                       /* 2. distribution type */
+                       /* One pick per distribution. These numbers MUST match the #defines  */
+                       /* in game.h !!!                                                     */
+                       str= "Distribution %t|Bool Constant %x0|Bool Uniform %x1"
+                            "|Bool Bernoulli %x2|Int Constant %x3|Int Uniform %x4"
+                            "|Int Poisson %x5|Float Constant %x6|Float Uniform %x7"
+                            "|Float Normal %x8|Float Neg. Exp. %x9";
+                       uiDefButI(block, MENU, B_REDR, str, (xco+10) + 0.4 * (width-20), yco-24, 0.6 * (width-20), 19,
+                                 &randAct->distribution, 0.0, 0.0, 0, 0,
+                                 "Choose the type of distribution");
+
+                       /* 3. property */
+                       uiDefBut(block, TEX, 1, "Property:", (xco+10), yco-44, (width-20), 19,
+                                &randAct->propname, 0, MAX_NAME, 0, 0,
+                                "Assign the random value to this property");
+
+                       /*4. and 5. arguments for the distribution*/
+                       switch (randAct->distribution) {
+                               case ACT_RANDOM_BOOL_CONST:
+                                       uiDefButBitI(block, TOG, 1, 1, "Always true", (xco+10), yco-64, (width-20), 19,
+                                                    &randAct->int_arg_1, 2.0, 1, 0, 0,
+                                                    "Always false or always true");
+                                       break;
+                               case ACT_RANDOM_BOOL_UNIFORM:
+                                       uiDefBut(block, LABEL, 0, "     Do a 50-50 pick",       (xco+10), yco-64, (width-20), 19,
+                                                NULL, 0, 0, 0, 0,
+                                                "Choose between true and false, 50% chance each");
+                                       break;
+                               case ACT_RANDOM_BOOL_BERNOUILLI:
+                                       uiDefButF(block, NUM, 1, "Chance", (xco+10), yco-64, (width-20), 19,
+                                                 &randAct->float_arg_1, 0.0, 1.0, 0, 0,
+                                                 "Pick a number between 0 and 1. Success if you stay "
+                                                 "below this value");
+                                       break;
+                               case ACT_RANDOM_INT_CONST:
+                                       uiDefButI(block, NUM, 1, "Value: ",             (xco+10), yco-64, (width-20), 19,
+                                                 &randAct->int_arg_1, -1000, 1000, 0, 0,
+                                                 "Always return this number");
+                                       break;
+                               case ACT_RANDOM_INT_UNIFORM:
+                                       uiDefButI(block, NUM, 1, "Min: ",               (xco+10), yco-64, (width-20)/2, 19,
+                                                 &randAct->int_arg_1, -1000, 1000, 0, 0,
+                                                 "Choose a number from a range. "
+                                                 "Lower boundary of the range");
+                                       uiDefButI(block, NUM, 1, "Max: ",               (xco+10) + (width-20)/2, yco-64, (width-20)/2, 19,
+                                                 &randAct->int_arg_2, -1000, 1000, 0, 0,
+                                                 "Choose a number from a range. "
+                                                 "Upper boundary of the range");
+                                       break;
+                               case ACT_RANDOM_INT_POISSON:
+                                       uiDefButF(block, NUM, 1, "Mean: ", (xco+10), yco-64, (width-20), 19,
+                                                 &randAct->float_arg_1, 0.01, 100.0, 0, 0,
+                                                 "Expected mean value of the distribution");
+                                       break;
+                               case ACT_RANDOM_FLOAT_CONST:
+                                       uiDefButF(block, NUM, 1, "Value: ", (xco+10), yco-64, (width-20), 19,
+                                                 &randAct->float_arg_1, 0.0, 1.0, 0, 0,
+                                                 "Always return this number");
+                                       break;
+                               case ACT_RANDOM_FLOAT_UNIFORM:
+                                       uiDefButF(block, NUM, 1, "Min: ",               (xco+10), yco-64, (width-20)/2, 19,
+                                                 &randAct->float_arg_1, -10000.0, 10000.0, 0, 0,
+                                                 "Choose a number from a range"
+                                                 "Lower boundary of the range");
+                                       uiDefButF(block, NUM, 1, "Max: ",               (xco+10) + (width-20)/2, yco-64, (width-20)/2, 19,
+                                                 &randAct->float_arg_2, -10000.0, 10000.0, 0, 0,
+                                                 "Choose a number from a range"
+                                                 "Upper boundary of the range");
+                                       break;
+                               case ACT_RANDOM_FLOAT_NORMAL:
+                                       uiDefButF(block, NUM, 1, "Mean: ",              (xco+10), yco-64, (width-20)/2, 19,
+                                                 &randAct->float_arg_1, -10000.0, 10000.0, 0, 0,
+                                                 "A normal distribution. Mean of the distribution");
+                                       uiDefButF(block, NUM, 1, "SD: ",                (xco+10) + (width-20)/2, yco-64, (width-20)/2, 19,
+                                                 &randAct->float_arg_2, 0.0, 10000.0, 0, 0,
+                                                 "A normal distribution. Standard deviation of the "
+                                                 "distribution");
+                                       break;
+                               case ACT_RANDOM_FLOAT_NEGATIVE_EXPONENTIAL:
+                                       uiDefButF(block, NUM, 1, "Half-life time: ", (xco+10), yco-64, (width-20), 19,
+                                                 &randAct->float_arg_1, 0.001, 10000.0, 0, 0,
+                                                 "Negative exponential dropoff");
+                                       break;
+                               default:
+                                       ; /* don't know what this distro is... can be useful for testing */
+                                       /* though :)                                                     */
+                       }
 
-               ysize = 50;
-               if (tdfa->type == ACT_2DFILTER_CUSTOMFILTER) {
-                       ysize +=20;
-               }
-               glRects(xco, yco-ysize, xco+width, yco);
-               uiEmboss((float)xco, (float)yco-ysize, (float)xco+width, (float)yco, 1);
+                       yco-= ysize;
+                       break;
+               case ACT_MESSAGE:
+                       ma = act->data;
 
-               switch (tdfa->type) {
-                       case ACT_2DFILTER_MOTIONBLUR:
-                               if (!tdfa->flag) {
-                                       uiDefButS(block, TOG, B_REDR, "D",      xco+30, yco-44, 19, 19, &tdfa->flag, 0.0, 0.0, 0.0, 0.0, "Disable Motion Blur");
-                                       uiDefButF(block, NUM, B_REDR, "Value:", xco+52, yco-44, width-82, 19, &tdfa->float_arg, 0.0, 1.0, 0.0, 0.0, "Set motion blur value");
-                               }
-                               else {
-                                       uiDefButS(block, TOG, B_REDR, "Disabled",       xco+30, yco-44, width-60, 19, &tdfa->flag, 0.0, 0.0, 0.0, 0.0, "Enable Motion Blur");
-                               }
-                               break;
-                       case ACT_2DFILTER_BLUR:
-                       case ACT_2DFILTER_SHARPEN:
-                       case ACT_2DFILTER_DILATION:
-                       case ACT_2DFILTER_EROSION:
-                       case ACT_2DFILTER_LAPLACIAN:
-                       case ACT_2DFILTER_SOBEL:
-                       case ACT_2DFILTER_PREWITT:
-                       case ACT_2DFILTER_GRAYSCALE:
-                       case ACT_2DFILTER_SEPIA:
-                       case ACT_2DFILTER_INVERT:
-                       case ACT_2DFILTER_NOFILTER:
-                       case ACT_2DFILTER_DISABLED:
-                       case ACT_2DFILTER_ENABLED:
-                               uiDefButI(block, NUM, B_REDR, "Pass Number:", xco+30, yco-44, width-60, 19, &tdfa->int_arg, 0.0, MAX_RENDER_PASS-1, 0.0, 0.0, "Set filter order");
-                               break;
-                       case ACT_2DFILTER_CUSTOMFILTER:
-                               uiDefButI(block, NUM, B_REDR, "Pass Number:", xco+30, yco-44, width-60, 19, &tdfa->int_arg, 0.0, MAX_RENDER_PASS-1, 0.0, 0.0, "Set filter order");
-                               uiDefIDPoinBut(block, test_scriptpoin_but, ID_SCRIPT, 1, "Script: ", xco+30, yco-64, width-60, 19, &tdfa->text, "");
-                               break;
-               }
-               
-               str= "2D Filter   %t|Motion Blur   %x1|Blur %x2|Sharpen %x3|Dilation %x4|Erosion %x5|"
-                               "Laplacian %x6|Sobel %x7|Prewitt %x8|Gray Scale %x9|Sepia %x10|Invert %x11|Custom Filter %x12|"
-                               "Enable Filter %x-2|Disable Filter %x-1|Remove Filter %x0|";
-               uiDefButS(block, MENU, B_REDR, str,     xco+30, yco-24, width-60, 19, &tdfa->type, 0.0, 0.0, 0.0, 0.0, "2D filter type");
-               
-               yco -= ysize;
-               break;
-       case ACT_PARENT:
-               parAct = act->data;
+                       ysize = 4 + (3 * 24); /* footer + number of lines * 24 pixels/line */
 
-               if (parAct->type==ACT_PARENT_SET) {
-                       
-                       ysize= 48;
                        glRects(xco, yco-ysize, xco+width, yco);
-                       uiEmboss((float)xco, (float)yco-ysize, (float)xco+width, (float)yco, 1);
-                       uiDefIDPoinBut(block, test_obpoin_but, ID_OB, 1, "OB:",         xco+95, yco-24, (width-100), 19, &(parAct->ob), "Set this object as parent");
-                       uiBlockBeginAlign(block);
-                       uiDefButBitS(block, TOGN, ACT_PARENT_COMPOUND, B_REDR,
-                       "Compound",
-                       xco + 5, yco - 44, (width - 10)/2, 19, &parAct->flag,
-                       0.0, 0.0, 0, 0,
-                       "Add this object shape to the parent shape (only if the parent shape is already compound)");
-                       uiDefButBitS(block, TOGN, ACT_PARENT_GHOST, B_REDR,
-                       "Ghost",
-                       xco + 5 + ((width - 10)/2), yco - 44, (width - 10)/2, 19, &parAct->flag,
-                       0.0, 0.0, 0, 0,
-                       "Make this object ghost while parented (only if not compound)");
-                       uiBlockEndAlign(block);
-               }
-               else if (parAct->type==ACT_PARENT_REMOVE) {
+                       uiEmboss((float)xco,        (float)yco-ysize,
+                                (float)xco+width,  (float)yco, 1);
+
+                       myline=1;
+
+                       /* line 1: To */
+                       uiDefBut(block, TEX, 1, "To: ",
+                                (xco+10), (yco-(myline++*24)), (width-20), 19,
+                                &ma->toPropName, 0, MAX_NAME, 0, 0,
+                                "Optional send message to objects with this name only, or empty to broadcast");
+
+                       /* line 2: Message Subject */
+                       uiDefBut(block, TEX, 1, "Subject: ",
+                                (xco+10), (yco-(myline++*24)), (width-20), 19,
+                                &ma->subject, 0, MAX_NAME, 0, 0,
+                                "Optional message subject. This is what can be filtered on");
+
+                       /* line 3: Text/Property */
+                       uiDefButBitS(block, TOG, 1, B_REDR, "T/P",
+                                    (xco+10), (yco-(myline*24)), (0.20 * (width-20)), 19,
+                                    &ma->bodyType, 0.0, 0.0, 0, 0,
+                                    "Toggle message type: either Text or a PropertyName");
+
+                       if (ma->bodyType == ACT_MESG_MESG) {
+                               /* line 3: Message Body */
+                               uiDefBut(block, TEX, 1, "Body: ",
+                                        (xco+10+(0.20*(width-20))), (yco-(myline++*24)), (0.8*(width-20)), 19,
+                                        &ma->body, 0, MAX_NAME, 0, 0,
+                                        "Optional message body Text");
+                       }
+                       else {
+                               /* line 3: Property body (set by property) */
+                               uiDefBut(block, TEX, 1, "Propname: ",
+                                        (xco+10+(0.20*(width-20))), (yco-(myline++*24)), (0.8*(width-20)), 19,
+                                        &ma->body, 0, MAX_NAME, 0, 0,
+                                        "The message body will be set by the Property Value");
+                       }
+
+                       yco -= ysize;
+                       break;
+               case ACT_2DFILTER:
+                       tdfa = act->data;
 
-                       ysize= 28;
+                       ysize = 50;
+                       if (tdfa->type == ACT_2DFILTER_CUSTOMFILTER) {
+                               ysize +=20;
+                       }
                        glRects(xco, yco-ysize, xco+width, yco);
                        uiEmboss((float)xco, (float)yco-ysize, (float)xco+width, (float)yco, 1);
-               }
 
-               str= "Parent %t|Set Parent %x0|Remove Parent %x1";
-               uiDefButI(block, MENU, B_REDR, str,             xco+5, yco-24, parAct->type==1?(width-80):90, 19, &parAct->type, 0.0, 0.0, 0, 0, ""); 
+                       switch (tdfa->type) {
+                               case ACT_2DFILTER_MOTIONBLUR:
+                                       if (!tdfa->flag) {
+                                               uiDefButS(block, TOG, B_REDR, "D",      xco+30, yco-44, 19, 19, &tdfa->flag, 0.0, 0.0, 0.0, 0.0, "Disable Motion Blur");
+                                               uiDefButF(block, NUM, B_REDR, "Value:", xco+52, yco-44, width-82, 19, &tdfa->float_arg, 0.0, 1.0, 0.0, 0.0, "Set motion blur value");
+                                       }
+                                       else {
+                                               uiDefButS(block, TOG, B_REDR, "Disabled",       xco+30, yco-44, width-60, 19, &tdfa->flag, 0.0, 0.0, 0.0, 0.0, "Enable Motion Blur");
+                                       }
+                                       break;
+                               case ACT_2DFILTER_BLUR:
+                               case ACT_2DFILTER_SHARPEN:
+                               case ACT_2DFILTER_DILATION:
+                               case ACT_2DFILTER_EROSION:
+                               case ACT_2DFILTER_LAPLACIAN:
+                               case ACT_2DFILTER_SOBEL:
+                               case ACT_2DFILTER_PREWITT:
+                               case ACT_2DFILTER_GRAYSCALE:
+                               case ACT_2DFILTER_SEPIA:
+                               case ACT_2DFILTER_INVERT:
+                               case ACT_2DFILTER_NOFILTER:
+                               case ACT_2DFILTER_DISABLED:
+                               case ACT_2DFILTER_ENABLED:
+                                       uiDefButI(block, NUM, B_REDR, "Pass Number:", xco+30, yco-44, width-60, 19, &tdfa->int_arg, 0.0, MAX_RENDER_PASS-1, 0.0, 0.0, "Set filter order");
+                                       break;
+                               case ACT_2DFILTER_CUSTOMFILTER:
+                                       uiDefButI(block, NUM, B_REDR, "Pass Number:", xco+30, yco-44, width-60, 19, &tdfa->int_arg, 0.0, MAX_RENDER_PASS-1, 0.0, 0.0, "Set filter order");
+                                       uiDefIDPoinBut(block, test_scriptpoin_but, ID_SCRIPT, 1, "Script: ", xco+30, yco-64, width-60, 19, &tdfa->text, "");
+                                       break;
+                       }
 
-               yco-= ysize;
-               break;
-       case ACT_ARMATURE:
-               armAct = act->data;
+                       str= "2D Filter   %t|Motion Blur   %x1|Blur %x2|Sharpen %x3|Dilation %x4|Erosion %x5|"
+                            "Laplacian %x6|Sobel %x7|Prewitt %x8|Gray Scale %x9|Sepia %x10|Invert %x11|Custom Filter %x12|"
+                            "Enable Filter %x-2|Disable Filter %x-1|Remove Filter %x0|";
+                       uiDefButS(block, MENU, B_REDR, str,     xco+30, yco-24, width-60, 19, &tdfa->type, 0.0, 0.0, 0.0, 0.0, "2D filter type");
 
-               if (ob->type == OB_ARMATURE) {
-                       str= "Constraint %t|Run armature %x0|Enable %x1|Disable %x2|Set target %x3|Set weight %x4";
-                       uiDefButI(block, MENU, B_REDR, str,             xco+5, yco-24, (width-10)*0.35, 19, &armAct->type, 0.0, 0.0, 0, 0, ""); 
+                       yco -= ysize;
+                       break;
+               case ACT_PARENT:
+                       parAct = act->data;
 
-                       switch (armAct->type) {
-                       case ACT_ARM_RUN:
-                               ysize = 28;
-                               break;
-                       default:
+                       if (parAct->type==ACT_PARENT_SET) {
+
+                               ysize= 48;
+                               glRects(xco, yco-ysize, xco+width, yco);
+                               uiEmboss((float)xco, (float)yco-ysize, (float)xco+width, (float)yco, 1);
+                               uiDefIDPoinBut(block, test_obpoin_but, ID_OB, 1, "OB:",         xco+95, yco-24, (width-100), 19, &(parAct->ob), "Set this object as parent");
                                uiBlockBeginAlign(block);
-                               but = uiDefBut(block, TEX, 1, "Bone: ",
-                                               (xco+5), (yco-44), (width-10)/2, 19,
-                                               armAct->posechannel, 0, MAX_NAME, 0, 0,
-                                               "Bone on which the constraint is defined");
-                               uiButSetFunc(but, check_armature_actuator, but, armAct);
-                               but = uiDefBut(block, TEX, 1, "Cons: ",
-                                               (xco+5)+(width-10)/2, (yco-44), (width-10)/2, 19,
-                                               armAct->constraint, 0, MAX_NAME, 0, 0,
-                                               "Name of the constraint you want to control");
-                               uiButSetFunc(but, check_armature_actuator, but, armAct);
+                               uiDefButBitS(block, TOGN, ACT_PARENT_COMPOUND, B_REDR,
+                                            "Compound",
+                                            xco + 5, yco - 44, (width - 10)/2, 19, &parAct->flag,
+                                            0.0, 0.0, 0, 0,
+                                            "Add this object shape to the parent shape (only if the parent shape is already compound)");
+                               uiDefButBitS(block, TOGN, ACT_PARENT_GHOST, B_REDR,
+                                            "Ghost",
+                                            xco + 5 + ((width - 10)/2), yco - 44, (width - 10)/2, 19, &parAct->flag,
+                                            0.0, 0.0, 0, 0,
+                                            "Make this object ghost while parented (only if not compound)");
                                uiBlockEndAlign(block);
-                               ysize = 48;
+                       }
+                       else if (parAct->type==ACT_PARENT_REMOVE) {
+
+                               ysize= 28;
+                               glRects(xco, yco-ysize, xco+width, yco);
+                               uiEmboss((float)xco, (float)yco-ysize, (float)xco+width, (float)yco, 1);
+                       }
+
+                       str= "Parent %t|Set Parent %x0|Remove Parent %x1";
+                       uiDefButI(block, MENU, B_REDR, str,             xco+5, yco-24, parAct->type==1?(width-80):90, 19, &parAct->type, 0.0, 0.0, 0, 0, "");
+
+                       yco-= ysize;
+                       break;
+               case ACT_ARMATURE:
+                       armAct = act->data;
+
+                       if (ob->type == OB_ARMATURE) {
+                               str= "Constraint %t|Run armature %x0|Enable %x1|Disable %x2|Set target %x3|Set weight %x4";
+                               uiDefButI(block, MENU, B_REDR, str,             xco+5, yco-24, (width-10)*0.35, 19, &armAct->type, 0.0, 0.0, 0, 0, "");
+
                                switch (armAct->type) {
-                               case ACT_ARM_SETTARGET:
-                                       uiDefIDPoinBut(block, test_obpoin_but, ID_OB, 1, "Target: ",            xco+5, yco-64, (width-10), 19, &(armAct->target), "Set this object as the target of the constraint"); 
-                                       uiDefIDPoinBut(block, test_obpoin_but, ID_OB, 1, "Secondary Target: ",          xco+5, yco-84, (width-10), 19, &(armAct->subtarget), "Set this object as the secondary target of the constraint (only IK polar target at the moment)"); 
-                                       ysize += 40;
-                                       break;
-                               case ACT_ARM_SETWEIGHT:
-                                       uiDefButF(block, NUM, B_REDR, "Weight:", xco+5+(width-10)*0.35, yco-24, (width-10)*0.65, 19, &armAct->weight, 0.0, 1.0, 0.0, 0.0, "Set weight of this constraint");
-                                       break;
+                                       case ACT_ARM_RUN:
+                                               ysize = 28;
+                                               break;
+                                       default:
+                                               uiBlockBeginAlign(block);
+                                               but = uiDefBut(block, TEX, 1, "Bone: ",
+                                                              (xco+5), (yco-44), (width-10)/2, 19,
+                                                              armAct->posechannel, 0, MAX_NAME, 0, 0,
+                                                              "Bone on which the constraint is defined");
+                                               uiButSetFunc(but, check_armature_actuator, but, armAct);
+                                               but = uiDefBut(block, TEX, 1, "Cons: ",
+                                                              (xco+5)+(width-10)/2, (yco-44), (width-10)/2, 19,
+                                                              armAct->constraint, 0, MAX_NAME, 0, 0,
+                                                              "Name of the constraint you want to control");
+                                               uiButSetFunc(but, check_armature_actuator, but, armAct);
+                                               uiBlockEndAlign(block);
+                                               ysize = 48;
+                                               switch (armAct->type) {
+                                                       case ACT_ARM_SETTARGET:
+                                                               uiDefIDPoinBut(block, test_obpoin_but, ID_OB, 1, "Target: ",            xco+5, yco-64, (width-10), 19, &(armAct->target), "Set this object as the target of the constraint");
+                                                               uiDefIDPoinBut(block, test_obpoin_but, ID_OB, 1, "Secondary Target: ",          xco+5, yco-84, (width-10), 19, &(armAct->subtarget), "Set this object as the secondary target of the constraint (only IK polar target at the moment)");
+                                                               ysize += 40;
+                                                               break;
+                                                       case ACT_ARM_SETWEIGHT:
+                                                               uiDefButF(block, NUM, B_REDR, "Weight:", xco+5+(width-10)*0.35, yco-24, (width-10)*0.65, 19, &armAct->weight, 0.0, 1.0, 0.0, 0.0, "Set weight of this constraint");
+                                                               break;
+                                               }
                                }
                        }
-                 }
-               glRects(xco, yco-ysize, xco+width, yco); 
-               uiEmboss((float)xco, (float)yco-ysize, (float)xco+width, (float)yco, 1); 
-               yco-= ysize;
-               break;
+                       glRects(xco, yco-ysize, xco+width, yco);
+                       uiEmboss((float)xco, (float)yco-ysize, (float)xco+width, (float)yco, 1);
+                       yco-= ysize;
+                       break;
 
-        default:
-               ysize= 4;
+               default:
+                       ysize= 4;
 
-               glRects(xco, yco-ysize, xco+width, yco);
-               uiEmboss((float)xco, (float)yco-ysize, (float)xco+width, (float)yco, 1);
-               
-               yco-= ysize;
-               break;
+                       glRects(xco, yco-ysize, xco+width, yco);
+                       uiEmboss((float)xco, (float)yco-ysize, (float)xco+width, (float)yco, 1);
+
+                       yco-= ysize;
+                       break;
        }
 
        uiBlockSetEmboss(block, UI_EMBOSS);
index f60c46fed9a8379ed027c8d78500aeabeac19686..45c1f5ccee48c57e35a5f9194bf946c2955e492f 100644 (file)
@@ -2451,7 +2451,7 @@ static void draw_dm_verts__mapFunc(void *userData, int index, const float co[3],
 }
 
 static void draw_dm_verts(BMEditMesh *em, DerivedMesh *dm, int sel, BMVert *eve_act,
-                                                 RegionView3D *rv3d)
+                          RegionView3D *rv3d)
 {
        drawDMVerts_userData data;
        data.sel = sel;
index 6b96bfdf66c0c64e8f9d8f49a2b496ba98633952..0abc4f00c549d742187e8ab3ce21a324ed149696 100644 (file)
@@ -713,7 +713,7 @@ static void transform_event_xyz_constraint(TransInfo *t, short key_type, char cm
                                }
                                else {
                                        short orientation = (t->current_orientation != V3D_MANIP_GLOBAL ?
-                                                                                t->current_orientation : V3D_MANIP_LOCAL);
+                                                            t->current_orientation : V3D_MANIP_LOCAL);
                                        if (!(t->modifiers & MOD_CONSTRAINT_PLANE))
                                                setUserConstraint(t, orientation, constraint_axis, msg2);
                                        else if (t->modifiers & MOD_CONSTRAINT_PLANE)
index fbbb5bdfae8a128dd59ef6cb1357a4bb5d609be0..19d97b64f5479da7838cdcf60b3ab0e13a4e6f75 100644 (file)
@@ -1336,7 +1336,7 @@ static void createTransCurveVerts(bContext *C, TransInfo *t)
        Object *obedit= CTX_data_edit_object(C);
        Curve *cu= obedit->data;
        TransData *td = NULL;
-         Nurb *nu;
+       Nurb *nu;
        BezTriple *bezt;
        BPoint *bp;
        float mtx[3][3], smtx[3][3];
@@ -1889,7 +1889,7 @@ static void get_edge_center(float cent_r[3], BMVert *eve)
 
 /* way to overwrite what data is edited with transform */
 static void VertsToTransData(TransInfo *t, TransData *td, TransDataExtension *tx,
-                                                        BMEditMesh *em, BMVert *eve, float *bweight)
+                             BMEditMesh *em, BMVert *eve, float *bweight)
 {
        td->flag = 0;
        //if (key)
index 6f26763fc0ea6273c11632993f0823201c1397d7..5e8c6b33b0d5bb8b245f2787f81cf4469a8025fb 100644 (file)
@@ -1519,7 +1519,7 @@ void RNA_property_update_main(Main *bmain, Scene *scene, PointerRNA *ptr, Proper
  *
  * The cache is structured with a dual-layer structure
  * - L1 = PointerRNA used as key; id.data is used (it should always be defined,
- *              and most updates end up using just that anyways)
+ *        and most updates end up using just that anyways)
  * - L2 = Update functions to be called on those PointerRNA's
  */
 
index d14675b77c81622cb3acad5c5ca563eb83f16663..e96ed4f38d3bf55562c2b81f51b881fd04ae132e 100644 (file)
@@ -173,8 +173,8 @@ static int rna_SculptCapabilities_has_random_texture_angle_get(PointerRNA *ptr)
 {
        Brush *br = (Brush *)ptr->data;
        return (ELEM(br->mtex.brush_map_mode,
-                                MTEX_MAP_MODE_VIEW,
-                                MTEX_MAP_MODE_AREA) &&
+                    MTEX_MAP_MODE_VIEW,
+                    MTEX_MAP_MODE_AREA) &&
                !(br->flag & BRUSH_ANCHORED) &&
                !ELEM4(br->sculpt_tool,
                       SCULPT_TOOL_GRAB, SCULPT_TOOL_ROTATE,
@@ -236,17 +236,17 @@ static int rna_SculptCapabilities_has_texture_angle_get(PointerRNA *ptr)
 {
        Brush *br = (Brush *)ptr->data;
        return ELEM3(br->mtex.brush_map_mode,
-                                MTEX_MAP_MODE_VIEW,
-                                MTEX_MAP_MODE_AREA,
-                                MTEX_MAP_MODE_TILED);
+                    MTEX_MAP_MODE_VIEW,
+                    MTEX_MAP_MODE_AREA,
+                    MTEX_MAP_MODE_TILED);
 }
 
 static int rna_SculptCapabilities_has_texture_angle_source_get(PointerRNA *ptr)
 {
        Brush *br = (Brush *)ptr->data;
        return ELEM(br->mtex.brush_map_mode,
-                               MTEX_MAP_MODE_VIEW,
-                               MTEX_MAP_MODE_AREA);
+                   MTEX_MAP_MODE_VIEW,
+                   MTEX_MAP_MODE_AREA);
 }
 
 static PointerRNA rna_Brush_sculpt_capabilities_get(PointerRNA *ptr)
index 9ceee3feab1669f0e8e818bcf3e1e4d085cd4101..7cf337f2f8870077d1c2e4b237693177ead2ce95 100644 (file)
@@ -180,12 +180,12 @@ static void node_composit_exec_math(void *UNUSED(data), bNode *node, bNodeStack
                return;
        }
 
-       /*create output based on first input */
+       /* create output based on first input */
        if (cbuf) {
                stackbuf=alloc_compbuf(cbuf->x, cbuf->y, CB_VAL, 1);
        }
        /* and if it doesn't exist use the second input since we 
-        know that one of them must exist at this point*/
+        know that one of them must exist at this point*/
        else {
                stackbuf=alloc_compbuf(cbuf2->x, cbuf2->y, CB_VAL, 1);
        }
index 6ad1874297f3ca71d450a10137f8ffd60e8be860..873f5353bff8f611a2dd33e19f33ded5e4d47d22 100644 (file)
@@ -591,7 +591,7 @@ static short pyrna_rotation_euler_order_get(PointerRNA *ptr, PropertyRNA **prop_
 /* note that PROP_NONE is included as a vector subtype. this is because its handy to
  * have x/y access to fcurve keyframes and other fixed size float arrays of length 2-4. */
 #define PROP_ALL_VECTOR_SUBTYPES                                              \
-                PROP_COORDS:                                                         \
+            PROP_COORDS:                                                         \
        case PROP_TRANSLATION:                                                    \
        case PROP_DIRECTION:                                                      \
        case PROP_VELOCITY:                                                       \
index a2e99300be7291d9d1d53963e98a6b51951df756..a2b911911d0769e59e780b9d1ad5328018c2f852 100644 (file)
@@ -5646,7 +5646,7 @@ void RE_Database_FromScene_Vectors(Render *re, Main *bmain, Scene *sce, unsigned
                                                ok= 1;
                                }
                                if (ok==0) {
-                                        printf("speed table: missing object %s\n", obi->ob->id.name+2);
+                                       printf("speed table: missing object %s\n", obi->ob->id.name+2);
                                        continue;
                                }