[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [19053] branches/blender2.5/blender/source /blender/windowmanager/intern/wm_files.c: 2.5 Userprefs/ Themes version patching
Revision: 19053 http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=19053 Author: aligorith Date: 2009-02-20 07:30:47 +0100 (Fri, 20 Feb 2009) Log Message: --- 2.5 Userprefs/Themes version patching Brought back many missing conversions. Dunno why so many of them weren't present. Modified Paths: -- branches/blender2.5/blender/source/blender/windowmanager/intern/wm_files.c Modified: branches/blender2.5/blender/source/blender/windowmanager/intern/wm_files.c === --- branches/blender2.5/blender/source/blender/windowmanager/intern/wm_files.c 2009-02-20 06:05:00 UTC (rev 19052) +++ branches/blender2.5/blender/source/blender/windowmanager/intern/wm_files.c 2009-02-20 06:30:47 UTC (rev 19053) @@ -325,6 +325,117 @@ SETCOL(btheme->ttime.cframe, 0x60, 0xc0, 0x40, 255); } } + if ((G.main->versionfile < 245) || (G.main->versionfile == 245 && G.main->subversionfile < 11)) { + bTheme *btheme; + for (btheme= U.themes.first; btheme; btheme= btheme->next) { + /* these should all use the same color */ + SETCOL(btheme->tv3d.cframe, 0x60, 0xc0, 0x40, 255); + SETCOL(btheme->tipo.cframe, 0x60, 0xc0, 0x40, 255); + SETCOL(btheme->tact.cframe, 0x60, 0xc0, 0x40, 255); + SETCOL(btheme->tnla.cframe, 0x60, 0xc0, 0x40, 255); + SETCOL(btheme->tseq.cframe, 0x60, 0xc0, 0x40, 255); + SETCOL(btheme->tsnd.cframe, 0x60, 0xc0, 0x40, 255); + SETCOL(btheme->ttime.cframe, 0x60, 0xc0, 0x40, 255); + } + } + if ((G.main->versionfile < 245) || (G.main->versionfile == 245 && G.main->subversionfile < 13)) { + bTheme *btheme; + for (btheme= U.themes.first; btheme; btheme= btheme->next) { + /* action channel groups (recolor anyway) */ + SETCOL(btheme->tact.group, 0x39, 0x7d, 0x1b, 255); + SETCOL(btheme->tact.group_active, 0x7d, 0xe9, 0x60, 255); + + /* bone custom-color sets */ + // FIXME: this check for initialised colors is bad + if (btheme->tarm[0].solid[3] == 0) { + /* set 1 */ + SETCOL(btheme->tarm[0].solid, 0x9a, 0x00, 0x00, 255); + SETCOL(btheme->tarm[0].select, 0xbd, 0x11, 0x11, 255); + SETCOL(btheme->tarm[0].active, 0xf7, 0x0a, 0x0a, 255); + /* set 2 */ + SETCOL(btheme->tarm[1].solid, 0xf7, 0x40, 0x18, 255); + SETCOL(btheme->tarm[1].select, 0xf6, 0x69, 0x13, 255); + SETCOL(btheme->tarm[1].active, 0xfa, 0x99, 0x00, 255); + /* set 3 */ + SETCOL(btheme->tarm[2].solid, 0x1e, 0x91, 0x09, 255); + SETCOL(btheme->tarm[2].select, 0x59, 0xb7, 0x0b, 255); + SETCOL(btheme->tarm[2].active, 0x83, 0xef, 0x1d, 255); + /* set 4 */ + SETCOL(btheme->tarm[3].solid, 0x0a, 0x36, 0x94, 255); + SETCOL(btheme->tarm[3].select, 0x36, 0x67, 0xdf, 255); + SETCOL(btheme->tarm[3].active, 0x5e, 0xc1, 0xef, 255); + /* set 5 */ + SETCOL(btheme->tarm[4].solid, 0xa9, 0x29, 0x4e, 255); + SETCOL(btheme->tarm[4].select, 0xc1, 0x41, 0x6a, 255); + SETCOL(btheme->tarm[4].active, 0xf0, 0x5d, 0x91, 255); + /* set 6 */ + SETCOL(btheme->tarm[5].solid, 0x43, 0x0c, 0x78, 255); + SETCOL(btheme->tarm[5].select, 0x54, 0x3a, 0xa3, 255); + SETCOL(btheme->tarm[5].active, 0x87, 0x64, 0xd5, 255); + /* set 7 */ + SETCOL(btheme->tarm[6].solid, 0x24, 0x78, 0x5a, 255); + SETCOL(btheme->tarm[6].select, 0x3c, 0x95, 0x79, 255); + SETCOL(btheme->tarm[6].active, 0x6f, 0xb6, 0xab, 255); + /* set 8 */ + SETCOL(btheme->tarm[7].solid, 0x4b, 0x70, 0x7c, 255); + SETCOL(btheme->tarm[7].select, 0x6a, 0x86, 0x91, 255); + SETCOL(btheme->tarm[7].active, 0x9b, 0xc2, 0xcd, 255); +
[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [19052] branches/blender2.5/blender/source /blender/makesrna/intern/rna_scene.c: started RNA-ifying scene->render data
Revision: 19052 http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=19052 Author: broken Date: 2009-02-20 07:05:00 +0100 (Fri, 20 Feb 2009) Log Message: --- started RNA-ifying scene->render data Modified Paths: -- branches/blender2.5/blender/source/blender/makesrna/intern/rna_scene.c Modified: branches/blender2.5/blender/source/blender/makesrna/intern/rna_scene.c === --- branches/blender2.5/blender/source/blender/makesrna/intern/rna_scene.c 2009-02-20 06:04:06 UTC (rev 19051) +++ branches/blender2.5/blender/source/blender/makesrna/intern/rna_scene.c 2009-02-20 06:05:00 UTC (rev 19052) @@ -149,6 +149,213 @@ rna_def_sculpt(brna); } +void rna_def_scene_render_data(BlenderRNA *brna) +{ + StructRNA *srna; + PropertyRNA *prop; + + static EnumPropertyItem pixel_filter_items[] ={ + {R_FILTER_BOX, "BOX", "Box", ""}, + {R_FILTER_TENT, "TENT", "Tent", ""}, + {R_FILTER_QUAD, "QUADRATIC", "Quadratic", ""}, + {R_FILTER_CUBIC, "CUBIC", "Cubic", ""}, + {R_FILTER_CATROM, "CATMULLROM", "Catmull-Rom", ""}, + {R_FILTER_GAUSS, "GAUSSIAN", "Gaussian", ""}, + {R_FILTER_MITCH, "MITCHELL", "Mitchell-Netravali", ""}, + {0, NULL, NULL, NULL}}; + + static EnumPropertyItem alpha_mode_items[] ={ + {R_ADDSKY, "SKY", "Sky", "Transparent pixels are filled with sky color"}, + {R_ALPHAPREMUL, "PREMUL", "Premultiplied", "Transparent RGB pixels are multiplied by the alpha channel"}, + {R_ALPHAKEY, "STRAIGHT", "Straight Alpha", "Transparent RGB and alpha pixels are unmodified"}, + {0, NULL, NULL, NULL}}; + + static EnumPropertyItem octree_resolution_items[] = { + {64, "OCTREE_RES_64", "64", ""}, + {128, "OCTREE_RES_128", "128", ""}, + {256, "OCTREE_RES_256", "256", ""}, + {512, "OCTREE_RES_512", "512", ""}, + {0, NULL, NULL, NULL}}; + + static EnumPropertyItem fixed_oversample_items[] = { + {5, "OVERSAMPLE_5", "5", ""}, + {8, "OVERSAMPLE_8", "8", ""}, + {11, "OVERSAMPLE_11", "11", ""}, + {16, "OVERSAMPLE_16", "16", ""}, + {0, NULL, NULL, NULL}}; + + static EnumPropertyItem field_order_items[] = { + {0, "FIELDS_EVENFIRST", "Even Fields First", ""}, + {R_ODDFIELD, "FIELDS_ODDFIRST", "Odd Fields First", ""}, + {0, NULL, NULL, NULL}}; + + static EnumPropertyItem threads_mode_items[] = { + {0, "THREADS_AUTO", "Auto-detect", ""}, + {R_FIXED_THREADS, "THREADS_FIXED", "Fixed Number", ""}, + {0, NULL, NULL, NULL}}; + + srna= RNA_def_struct(brna, "SceneRenderData", NULL); + RNA_def_struct_sdna(srna, "RenderData"); + RNA_def_struct_nested(brna, srna, "Scene"); + RNA_def_struct_ui_text(srna, "Render Data", "Rendering settings for a Scene datablock."); + + prop= RNA_def_property(srna, "resolution_x", PROP_INT, PROP_NONE); + RNA_def_property_int_sdna(prop, NULL, "xsch"); + RNA_def_property_range(prop, 0, 1); + RNA_def_property_ui_text(prop, "Resolution X", "Number of horizontal pixels in the rendered image."); + RNA_def_property_update(prop, NC_SCENE|ND_RENDER_OPTIONS, NULL); + + prop= RNA_def_property(srna, "resolution_y", PROP_INT, PROP_NONE); + RNA_def_property_int_sdna(prop, NULL, "ysch"); + RNA_def_property_range(prop, 0, 1); + RNA_def_property_ui_text(prop, "Resolution Y", "Number of vertical pixels in the rendered image."); + RNA_def_property_update(prop, NC_SCENE|ND_RENDER_OPTIONS, NULL); + + prop= RNA_def_property(srna, "resolution_percentage", PROP_INT, PROP_NONE); + RNA_def_property_int_sdna(prop, NULL, "size"); + RNA_def_property_range(prop, 1, 400); + RNA_def_property_ui_text(prop, "Resolution %", "Preview scale for render resolution"); + + prop= RNA_def_property(srna, "parts_x", PROP_INT, PROP_NONE); + RNA_def_property_int_sdna(prop, NULL, "xparts"); + RNA_def_property_range(prop, 0, 512); + RNA_def_property_ui_text(prop, "Parts X", "Number of horizontal tiles to use while rendering."); + RNA_def_property_update(prop, NC_SCENE|ND_RENDER_OPTIONS, NULL); + + prop= RNA_def_property(srna, "parts_y", PROP_INT, PROP_NONE); + RNA_def_property_int_sdna(prop, NULL, "yparts"); + RNA_def_property_range(prop, 0, 512); + RNA_def_property_ui_text(prop, "Parts Y", "Number of vertical tiles to use while rendering."); + RNA_def_property_update(prop, NC_SCENE|ND_RENDER
[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [19051] branches/blender2.5/blender/source /blender/windowmanager/intern/wm_files.c: 2. 5 - Moved version-patch for animation related settings/theme-c
Revision: 19051 http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=19051 Author: aligorith Date: 2009-02-20 07:04:06 +0100 (Fri, 20 Feb 2009) Log Message: --- 2.5 - Moved version-patch for animation related settings/theme-colours in .B.blend files to the < 250 check. Hopefully, this solves the issues with the default keyframe interpolation mode being initialised to 'constant' on some old .B.blend files. Modified Paths: -- branches/blender2.5/blender/source/blender/windowmanager/intern/wm_files.c Modified: branches/blender2.5/blender/source/blender/windowmanager/intern/wm_files.c === --- branches/blender2.5/blender/source/blender/windowmanager/intern/wm_files.c 2009-02-20 05:59:15 UTC (rev 19050) +++ branches/blender2.5/blender/source/blender/windowmanager/intern/wm_files.c 2009-02-20 06:04:06 UTC (rev 19051) @@ -325,18 +325,27 @@ SETCOL(btheme->ttime.cframe, 0x60, 0xc0, 0x40, 255); } } - if ((G.main->versionfile < 248) || (G.main->versionfile == 248 && G.main->subversionfile < 3)) { + if (G.main->versionfile < 250) { bTheme *btheme; - /* adjust themes */ - for (btheme= U.themes.first; btheme; btheme= btheme->next) { + for(btheme= U.themes.first; btheme; btheme= btheme->next) { + /* this was not properly initialized in 2.45 */ + if(btheme->tima.face_dot[3]==0) { + SETCOL(btheme->tima.editmesh_active, 255, 255, 255, 128); + SETCOL(btheme->tima.face_dot, 255, 133, 0, 255); + btheme->tima.facedot_size= 2; + } + /* DopeSheet - (Object) Channel color */ SETCOL(btheme->tact.ds_channel, 82, 96, 110, 255); SETCOL(btheme->tact.ds_subchannel, 124, 137, 150, 255); + /* DopeSheet - Group Channel color (saner version) */ + SETCOL(btheme->tact.group, 79, 101, 73, 255); + SETCOL(btheme->tact.group_active, 135, 177, 125, 255); /* Graph Editor - (Object) Channel color */ - SETCOL(btheme->tipo.ds_channel, 82, 96, 110, 255); - SETCOL(btheme->tipo.ds_subchannel, 124, 137, 150, 255); + SETCOL(btheme->tipo.group, 79, 101, 73, 255); + SETCOL(btheme->tipo.group_active, 135, 177, 125, 255); /* Graph Editor - Group Channel color */ SETCOL(btheme->tipo.group, 22, 112, 0, 255); SETCOL(btheme->tipo.group_active, 125, 233, 96, 255); @@ -349,18 +358,6 @@ /* adjust default interpolation for new IPO-curves */ U.ipo_new= BEZT_IPO_BEZ; } - if (G.main->versionfile < 250) { - bTheme *btheme; - - /* this was not properly initialized in 2.45 */ - for(btheme= U.themes.first; btheme; btheme= btheme->next) { - if(btheme->tima.face_dot[3]==0) { - SETCOL(btheme->tima.editmesh_active, 255, 255, 255, 128); - SETCOL(btheme->tima.face_dot, 255, 133, 0, 255); - btheme->tima.facedot_size= 2; - } - } - } /* GL Texture Garbage Collection (variable abused above!) */ if (U.textimeout == 0) { ___ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org http://lists.blender.org/mailman/listinfo/bf-blender-cvs
[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [19050] branches/blender2.5/blender/source /blender/editors/animation/keyframing.c: Aha! I' ve finally found those elusive RNA API functions that prev
Revision: 19050 http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=19050 Author: aligorith Date: 2009-02-20 06:59:15 +0100 (Fri, 20 Feb 2009) Log Message: --- Aha! I've finally found those elusive RNA API functions that prevented the ANIM_OT_keyingset_add_destination() operator from being able to be used. Modified Paths: -- branches/blender2.5/blender/source/blender/editors/animation/keyframing.c Modified: branches/blender2.5/blender/source/blender/editors/animation/keyframing.c === --- branches/blender2.5/blender/source/blender/editors/animation/keyframing.c 2009-02-20 05:42:44 UTC (rev 19049) +++ branches/blender2.5/blender/source/blender/editors/animation/keyframing.c 2009-02-20 05:59:15 UTC (rev 19050) @@ -883,7 +883,7 @@ static int keyingset_add_destination_exec (bContext *C, wmOperator *op) { - //PointerRNA *ptr; + PointerRNA ptr; KeyingSet *ks= NULL; ID *id= NULL; char rna_path[256], group_name[64]; // xxx @@ -891,13 +891,14 @@ int array_index=0; /* get settings from operator properties */ -#if 0 // XXX - why can't we have something like this in the RNA-access API? - if ( (ptr = RNA_property_pointer_get(op->ptr, "keyingset")) ) - ks= (KeyingSet *)ptr->data; - if ( (ptr = RNA_property_pointer_get(op->ptr, "id")) ) - id= (ID *)ptr->id; -#endif + ptr = RNA_pointer_get(op->ptr, "keyingset"); + if (ptr.data) + ks= (KeyingSet *)ptr.data; + ptr = RNA_pointer_get(op->ptr, "id"); + if (ptr.data) + id= (ID *)ptr.data; + groupmode= RNA_enum_get(op->ptr, "grouping_method"); RNA_string_get(op->ptr, "group_name", group_name); ___ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org http://lists.blender.org/mailman/listinfo/bf-blender-cvs
[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [19049] branches/blender2.5/blender/source : Add clipping text option to blenfont also add an enable/disable
Revision: 19049 http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=19049 Author: bdiego Date: 2009-02-20 06:42:44 +0100 (Fri, 20 Feb 2009) Log Message: --- Add clipping text option to blenfont also add an enable/disable function for aspect and rotation (and the new clipping). Update source/Makefile to point to the new libed_sculpt_paint. Modified Paths: -- branches/blender2.5/blender/source/Makefile branches/blender2.5/blender/source/blender/blenfont/BLF_api.h branches/blender2.5/blender/source/blender/blenfont/intern/blf.c branches/blender2.5/blender/source/blender/blenfont/intern/blf_font.c branches/blender2.5/blender/source/blender/blenfont/intern/blf_glyph.c branches/blender2.5/blender/source/blender/blenfont/intern/blf_internal.h branches/blender2.5/blender/source/blender/blenfont/intern/blf_internal_types.h Modified: branches/blender2.5/blender/source/Makefile === --- branches/blender2.5/blender/source/Makefile 2009-02-20 05:42:09 UTC (rev 19048) +++ branches/blender2.5/blender/source/Makefile 2009-02-20 05:42:44 UTC (rev 19049) @@ -242,7 +242,7 @@ PULIB += $(OCGDIR)/blender/ed_curve/libed_curve.a PULIB += $(OCGDIR)/blender/ed_armature/libed_armature.a PULIB += $(OCGDIR)/blender/ed_mesh/libed_mesh.a -PULIB += $(OCGDIR)/blender/ed_sculpt/libed_sculpt.a +PULIB += $(OCGDIR)/blender/ed_sculpt_paint/libed_sculpt_paint.a PULIB += $(OCGDIR)/blender/ed_physics/libed_physics.a PULIB += $(OCGDIR)/blender/ed_animation/libed_animation.a PULIB += $(OCGDIR)/blender/ed_transform/libed_transform.a Modified: branches/blender2.5/blender/source/blender/blenfont/BLF_api.h === --- branches/blender2.5/blender/source/blender/blenfont/BLF_api.h 2009-02-20 05:42:09 UTC (rev 19048) +++ branches/blender2.5/blender/source/blender/blenfont/BLF_api.h 2009-02-20 05:42:44 UTC (rev 19049) @@ -45,7 +45,11 @@ float BLF_width(char *str); float BLF_height(char *str); void BLF_rotation(float angle); +void BLF_clipping(float xmin, float ymin, float xmax, float ymax); +void BLF_enable(int option); +void BLF_disable(int option); + /* Read the .Blanguages file, return 1 on success or 0 if fails. */ int BLF_lang_init(void); @@ -78,4 +82,9 @@ /* Free the data return by BLF_dir_get. */ void BLF_dir_free(char **dirs, int count); +/* font->flags. */ +#define BLF_ASPECT (1<<0) +#define BLF_ROTATION (1<<1) +#define BLF_CLIPPING (1<<2) + #endif /* BLF_API_H */ Modified: branches/blender2.5/blender/source/blender/blenfont/intern/blf.c === --- branches/blender2.5/blender/source/blender/blenfont/intern/blf.c 2009-02-20 05:42:09 UTC (rev 19048) +++ branches/blender2.5/blender/source/blender/blenfont/intern/blf.c 2009-02-20 05:42:44 UTC (rev 19049) @@ -53,11 +53,11 @@ #include "BIF_gl.h" #include "BIF_glutil.h" +#include "BLF_api.h" #include "blf_internal_types.h" #include "blf_internal.h" - #ifdef WITH_FREETYPE2 /* Max number of font in memory. @@ -215,6 +215,28 @@ #endif } +void BLF_enable(int option) +{ +#ifdef WITH_FREETYPE2 + FontBLF *font; + + font= global_font[global_font_cur]; + if (font) + font->flags |= option; +#endif +} + +void BLF_disable(int option) +{ +#ifdef WITH_FREETYPE2 + FontBLF *font; + + font= global_font[global_font_cur]; + if (font) + font->flags &= ~option; +#endif +} + void BLF_aspect(float aspect) { #ifdef WITH_FREETYPE2 @@ -230,24 +252,29 @@ { #ifdef WITH_FREETYPE2 FontBLF *font; - float remainder; + float remainder, aspect; font= global_font[global_font_cur]; if (font) { + if (font->flags & BLF_ASPECT) + aspect= font->aspect; + else + aspect= 1.0f; + remainder= x - floor(x); if (remainder > 0.4 && remainder < 0.6) { if (remainder < 0.5) - x -= 0.1 * font->aspect; + x -= 0.1 * aspect; else - x += 0.1 * font->aspect; + x += 0.1 * aspect; } remainder= y - floor(y); if (remainder > 0.4 && remainder < 0.6) { if (remainder < 0.5) - y -= 0.1 * font->aspect; + y -= 0.1 * aspect; else - y += 0.1 * font->aspect; + y += 0.1 * aspect; } font->pos[0]= x; @@ -281,9 +308,13 @@ glPushMatrix(); glTranslatef(font->pos[0], font->pos[1]
[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [19048] branches/blender2.5/blender/source /blender/editors: KeyingSets: Added two operators which wrap the internal ( blenkernel) KeyingSets API func
Revision: 19048 http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=19048 Author: aligorith Date: 2009-02-20 06:42:09 +0100 (Fri, 20 Feb 2009) Log Message: --- KeyingSets: Added two operators which wrap the internal (blenkernel) KeyingSets API functions These operators - ANIM_OT_keyingset_add_new() and ANIM_OT_keyingset_add_destination() - are designed for use from PyAPI or through some other means, and as such, have not been assigned any hotkeys. They should only be used when all the relevant settings can be supplied to them, which in ideal circumstances would be through some script used by a rigger to define all the necessary Keying Sets for their rig for example. Whether we will be building many of the utilities for the PyAPI like this remains to be seen. Note: the second one doesn't work yet, as there are problems with accessing certain operator props. Modified Paths: -- branches/blender2.5/blender/source/blender/editors/animation/anim_ops.c branches/blender2.5/blender/source/blender/editors/animation/keyframing.c branches/blender2.5/blender/source/blender/editors/include/ED_keyframing.h Modified: branches/blender2.5/blender/source/blender/editors/animation/anim_ops.c === --- branches/blender2.5/blender/source/blender/editors/animation/anim_ops.c 2009-02-19 23:53:40 UTC (rev 19047) +++ branches/blender2.5/blender/source/blender/editors/animation/anim_ops.c 2009-02-20 05:42:09 UTC (rev 19048) @@ -382,6 +382,9 @@ WM_operatortype_append(ANIM_OT_delete_keyframe); WM_operatortype_append(ANIM_OT_insert_keyframe_old); WM_operatortype_append(ANIM_OT_delete_keyframe_old); + + WM_operatortype_append(ANIM_OT_keyingset_add_new); + WM_operatortype_append(ANIM_OT_keyingset_add_destination); } void ED_keymap_anim(wmWindowManager *wm) Modified: branches/blender2.5/blender/source/blender/editors/animation/keyframing.c === --- branches/blender2.5/blender/source/blender/editors/animation/keyframing.c 2009-02-19 23:53:40 UTC (rev 19047) +++ branches/blender2.5/blender/source/blender/editors/animation/keyframing.c 2009-02-20 05:42:09 UTC (rev 19048) @@ -870,15 +870,140 @@ } /* *** */ -/* KEYFRAME MODIFICATION */ +/* KEYINGSETS */ -/* mode for common_modifykey */ -enum { - COMMONKEY_MODE_INSERT = 0, - COMMONKEY_MODE_DELETE, -} eCommonModifyKey_Modes; +/* Operators --- */ +/* These operators are only provided for scripting/macro usage, not for direct + * calling from the UI since they wrap some of the data-access API code for these + * (defined in blenkernel) which have quite a few properties. + */ +/* - */ + +static int keyingset_add_destination_exec (bContext *C, wmOperator *op) +{ + //PointerRNA *ptr; + KeyingSet *ks= NULL; + ID *id= NULL; + char rna_path[256], group_name[64]; // xxx + short groupmode=0, flag=0; + int array_index=0; + + /* get settings from operator properties */ +#if 0 // XXX - why can't we have something like this in the RNA-access API? + if ( (ptr = RNA_property_pointer_get(op->ptr, "keyingset")) ) + ks= (KeyingSet *)ptr->data; + if ( (ptr = RNA_property_pointer_get(op->ptr, "id")) ) + id= (ID *)ptr->id; +#endif + + groupmode= RNA_enum_get(op->ptr, "grouping_method"); + RNA_string_get(op->ptr, "group_name", group_name); + + RNA_string_get(op->ptr, "rna_path", rna_path); + array_index= RNA_int_get(op->ptr, "array_index"); + + if (RNA_boolean_get(op->ptr, "entire_array")) + flag |= KSP_FLAG_WHOLE_ARRAY; + + /* if enough args are provided, call API method */ + if (ks) { + BKE_keyingset_add_destination(ks, id, group_name, rna_path, array_index, flag, groupmode); + return OPERATOR_FINISHED; + } + else { + BKE_report(op->reports, RPT_ERROR, "Keying Set could not be added."); + return OPERATOR_CANCELLED; + } +} + +void ANIM_OT_keyingset_add_destination (wmOperatorType *ot) +{ + // XXX: this is also defined in rna_animation.c + static EnumPropertyItem prop_mode_grouping_items[] = { + {KSP_GROUP_NAMED, "NAMED", "Named Group", ""}, + {KSP_GROUP_NONE, "NONE", "None", ""}, + {KSP_GROUP_KSNAME, "KEYINGSET", "Keying Set Name", ""}, + {0, NULL, NULL, NULL}}; + + /* identifiers */ + ot->name= "Add Keying Set Destination"; + ot->idname= "ANIM_OT_keyingset_add_destination"; + + /* callbacks */ + ot->exec= keyingset_add_destination_exec; + ot->p
[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [19047] branches/blender2.5/blender/source /blender: 2.5:
Revision: 19047 http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=19047 Author: blendix Date: 2009-02-20 00:53:40 +0100 (Fri, 20 Feb 2009) Log Message: --- 2.5: * Image painting back. 2d paint, 3d paint and projection, undo, pressure, repeating paint operations, etc should all work. Drawing cursor needs a bit of work, only gets shown when enabling texture paint mode now. * Move sculpt, image paint, and vertex/weight paint into a single sculpt_paint module. Doesn't make much difference now, but nice to have it together for better integration and consistency in the future. Modified Paths: -- branches/blender2.5/blender/source/blender/editors/Makefile branches/blender2.5/blender/source/blender/editors/SConscript branches/blender2.5/blender/source/blender/editors/include/ED_screen.h branches/blender2.5/blender/source/blender/editors/include/ED_sculpt.h branches/blender2.5/blender/source/blender/editors/include/ED_view3d.h branches/blender2.5/blender/source/blender/editors/mesh/editface.c branches/blender2.5/blender/source/blender/editors/screen/screen_ops.c branches/blender2.5/blender/source/blender/editors/sculpt_paint/Makefile branches/blender2.5/blender/source/blender/editors/sculpt_paint/SConscript branches/blender2.5/blender/source/blender/editors/space_api/spacetypes.c branches/blender2.5/blender/source/blender/editors/space_image/space_image.c branches/blender2.5/blender/source/blender/editors/space_view3d/drawmesh.c branches/blender2.5/blender/source/blender/editors/space_view3d/drawobject.c branches/blender2.5/blender/source/blender/editors/space_view3d/space_view3d.c branches/blender2.5/blender/source/blender/editors/space_view3d/view3d_draw.c branches/blender2.5/blender/source/blender/editors/space_view3d/view3d_header.c branches/blender2.5/blender/source/blender/editors/space_view3d/view3d_intern.h branches/blender2.5/blender/source/blender/editors/space_view3d/view3d_ops.c branches/blender2.5/blender/source/blender/editors/util/ed_util.c branches/blender2.5/blender/source/blender/editors/util/undo.c branches/blender2.5/blender/source/blender/editors/uvedit/Makefile branches/blender2.5/blender/source/blender/editors/uvedit/SConscript branches/blender2.5/blender/source/blender/makesdna/DNA_brush_types.h branches/blender2.5/blender/source/blender/makesdna/DNA_scene_types.h branches/blender2.5/blender/source/blender/makesrna/intern/makesrna.c branches/blender2.5/blender/source/blender/makesrna/intern/rna_brush.c branches/blender2.5/blender/source/blender/windowmanager/WM_types.h branches/blender2.5/blender/source/blender/windowmanager/wm_event_types.h Added Paths: --- branches/blender2.5/blender/source/blender/editors/sculpt_paint/ branches/blender2.5/blender/source/blender/editors/sculpt_paint/paint_image.c branches/blender2.5/blender/source/blender/editors/sculpt_paint/paint_intern.h branches/blender2.5/blender/source/blender/editors/sculpt_paint/paint_ops.c branches/blender2.5/blender/source/blender/editors/sculpt_paint/paint_utils.c branches/blender2.5/blender/source/blender/editors/sculpt_paint/paint_vertex.c branches/blender2.5/blender/source/blender/editors/sculpt_paint/sculpt_stroke.c Removed Paths: - branches/blender2.5/blender/source/blender/editors/sculpt/ branches/blender2.5/blender/source/blender/editors/sculpt_paint/stroke.c branches/blender2.5/blender/source/blender/editors/space_view3d/vpaint.c Modified: branches/blender2.5/blender/source/blender/editors/Makefile === --- branches/blender2.5/blender/source/blender/editors/Makefile 2009-02-19 23:15:27 UTC (rev 19046) +++ branches/blender2.5/blender/source/blender/editors/Makefile 2009-02-19 23:53:40 UTC (rev 19047) @@ -29,6 +29,6 @@ # Bounces make to subdirectories. SOURCEDIR = source/blender/editors -DIRS = armature mesh animation object sculpt datafiles transform screen curve gpencil physics preview uvedit space_outliner space_time space_view3d interface util space_api space_graph space_image space_node space_buttons space_info space_file space_sound space_action space_nla space_script space_text space_sequencer +DIRS = armature mesh animation object sculpt_paint datafiles transform screen curve gpencil physics preview uvedit space_outliner space_time space_view3d interface util space_api space_graph space_image space_node space_buttons space_info space_file space_sound space_action space_nla space_script space_text space_sequencer include nan_subdirs.mk Modified: branches/blender2.5/blender/source/blender/editors/SConscript === --- branches/blender2.5/blender/source/blender/editors/SConscript 2009-02-19 23:15:27
[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [19046] trunk/blender/projectfiles_vc9/ gameengine: MSVC9 project files: reactivate VideoTexture module in BGE; it that was disabled for some reason.
Revision: 19046 http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=19046 Author: ben2610 Date: 2009-02-20 00:15:27 +0100 (Fri, 20 Feb 2009) Log Message: --- MSVC9 project files: reactivate VideoTexture module in BGE; it that was disabled for some reason. Modified Paths: -- trunk/blender/projectfiles_vc9/gameengine/blenderhook/KX_blenderhook.vcproj trunk/blender/projectfiles_vc9/gameengine/gameplayer/ghost/GP_ghost.vcproj Modified: trunk/blender/projectfiles_vc9/gameengine/blenderhook/KX_blenderhook.vcproj === --- trunk/blender/projectfiles_vc9/gameengine/blenderhook/KX_blenderhook.vcproj 2009-02-19 23:13:41 UTC (rev 19045) +++ trunk/blender/projectfiles_vc9/gameengine/blenderhook/KX_blenderhook.vcproj 2009-02-19 23:15:27 UTC (rev 19046) @@ -4,6 +4,7 @@ Version="9,00" Name="KX_blenderhook" ProjectGUID="{8154A59A-CAED-403D-AB94-BC4E7C032666}" + RootNamespace="KX_blenderhook" TargetFrameworkVersion="131072" > @@ -43,7 +44,7 @@ Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="..\..\..\..\build\msvc_9\intern\moto\include;..\..\..\..\build\msvc_9\intern\string\include;..\..\..\..\build\msvc_9\intern\bmfont\include;..\..\..\..\build\msvc_9\intern\soundsystem\include;..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\..\build\msvc_9\extern\solid\include;..\..\..\..\build\msvc_9\extern\glew\include;..\..\..\..\lib\windows\python\include\python2.5;..\..\..\source\blender;..\..\..\source\blender\misc;..\..\..\source\blender\imbuf;..\..\..\source\blender\blenlib;..\..\..\source\blender\include;..\..\..\source\blender\makesdna;..\..\..\source\blender\blenloader;..\..\..\source\blender\blenkernel;..\..\..\source\kernel\gen_system;..\..\..\source\gameengine\ketsji;..\..\..\source\gameengine\network;..\..\..\source\gameengine\rasterizer;..\..\..\source\gameengine\Converter;..\..\..\source\gameengine\gamelogic;..\..\..\source\gameengine\scenegraph;..\..\..\source\gameengine\expressions;..\..\..\source\gameengine\Ph ysics\Sumo;..\..\..\source\gameengine\Physics\common;..\..\..\source\gameengine\network\loopbacknetwork;..\..\..\source\gameengine\rasterizer\ras_openglrasterizer;..\..\..\source\gameengine\Physics\Sumo\Fuzzics\include;..\..\..\source\blender\gpu" - PreprocessorDefinitions="WIN32;_LIB;_DEBUG;WITH_GLEXT" + PreprocessorDefinitions="WIN32;_LIB;_DEBUG;WITH_GLEXT;WITH_FFMPEG" BasicRuntimeChecks="3" RuntimeLibrary="1" DefaultCharIsUnsigned="true" @@ -119,7 +120,7 @@ Name="VCCLCompilerTool" InlineFunctionExpansion="1" AdditionalIncludeDirectories="..\..\..\..\build\msvc_9\intern\moto\include;..\..\..\..\build\msvc_9\intern\string\include;..\..\..\..\build\msvc_9\intern\bmfont\include;..\..\..\..\build\msvc_9\intern\soundsystem\include;..\..\..\..\build\msvc_9\intern\guardedalloc\include;..\..\..\..\build\msvc_9\extern\solid\include;..\..\..\..\build\msvc_9\extern\glew\include;..\..\..\..\lib\windows\python\include\python2.5;..\..\..\source\blender;..\..\..\source\blender\misc;..\..\..\source\blender\imbuf;..\..\..\source\blender\blenlib;..\..\..\source\blender\include;..\..\..\source\blender\makesdna;..\..\..\source\blender\blenloader;..\..\..\source\blender\blenkernel;..\..\..\source\kernel\gen_system;..\..\..\source\gameengine\ketsji;..\..\..\source\gameengine\network;..\..\..\source\gameengine\rasterizer;..\..\..\source\gameengine\Converter;..\..\..\source\gameengine\gamelogic;..\..\..\source\gameengine\scenegraph;..\..\..\source\gameengine\expressions;..\..\..\source\gameengine\Ph ysics\Sumo;..\..\..\source\gameengine\Physics\common;..\..\..\source\gameengine\network\loopbacknetwork;..\..\..\source\gameengine\rasterizer\ras_openglrasterizer;..\..\..\source\gameengine\Physics\Sumo\Fuzzics\include;..\..\..\source\blender\gpu" - PreprocessorDefinitions="NDEBUG;WIN32;_LIB;USE_SUMO_SOLID;WITH_GLEXT" + PreprocessorDefinitions="NDEBUG;WIN32;_LIB;USE_SUMO_SOLID;WITH_GLEXT;WITH_FFMPEG" StringPooling="true" BasicRuntimeChecks="0" RuntimeLibrary="0" Modified: trunk/blender/projectfiles_vc9/gameengine/gameplayer/ghost/GP_ghost.vcproj === --- trunk/blender/projectfiles_vc9/gameengine/gameplayer/ghost/GP_ghost.vcproj 2009-02-19 23:13:41 UTC (rev 19045) +++ trunk/blender/projectfiles_vc9/gameengine/gameplayer/ghost/GP_gho
[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [19045] trunk/blender/source/gameengine: BGE API Cleanup: distinction between array and list of values in KX_PYATTRIBUTE macros.
Revision: 19045 http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=19045 Author: ben2610 Date: 2009-02-20 00:13:41 +0100 (Fri, 20 Feb 2009) Log Message: --- BGE API Cleanup: distinction between array and list of values in KX_PYATTRIBUTE macros. Fix compilation problem under Windows with strcasecmp: define it as stricmp Modified Paths: -- trunk/blender/source/gameengine/Expressions/InputParser.cpp trunk/blender/source/gameengine/Expressions/PyObjectPlus.h trunk/blender/source/gameengine/GameLogic/SCA_JoystickSensor.cpp trunk/blender/source/gameengine/GameLogic/SCA_MouseSensor.cpp Modified: trunk/blender/source/gameengine/Expressions/InputParser.cpp === --- trunk/blender/source/gameengine/Expressions/InputParser.cpp 2009-02-19 19:03:53 UTC (rev 19044) +++ trunk/blender/source/gameengine/Expressions/InputParser.cpp 2009-02-19 23:13:41 UTC (rev 19045) @@ -38,6 +38,9 @@ // cool things like (IF(LOD==1,CCurvedValue,IF(LOD==2,CCurvedValue2)) etc... #include "IfExpr.h" +#if defined(WIN32) || defined(WIN64) +#define strcasecmp _stricmp +#endif /* Def WIN32 or Def WIN64 */ #define NUM_PRIORITY 6 // Modified: trunk/blender/source/gameengine/Expressions/PyObjectPlus.h === --- trunk/blender/source/gameengine/Expressions/PyObjectPlus.h 2009-02-19 19:03:53 UTC (rev 19044) +++ trunk/blender/source/gameengine/Expressions/PyObjectPlus.h 2009-02-19 23:13:41 UTC (rev 19045) @@ -283,10 +283,17 @@ #define KX_PYATTRIBUTE_SHORT_RO(name,object,field) \ { name, KX_PYATTRIBUTE_TYPE_SHORT, KX_PYATTRIBUTE_RO, 0, 0, 0.f, 0.f, false, offsetof(object,field), 0, 1, NULL, {NULL, &((object *)0)->field, NULL, NULL, NULL} } #define KX_PYATTRIBUTE_SHORT_ARRAY_RW(name,min,max,clamp,object,field,length) \ + { name, KX_PYATTRIBUTE_TYPE_SHORT, KX_PYATTRIBUTE_RW, min, max, 0.f, 0.f, clamp, offsetof(object,field), 0, length, NULL, {NULL, ((object *)0)->field, NULL, NULL, NULL} } +#define KX_PYATTRIBUTE_SHORT_ARRAY_RW_CHECK(name,min,max,clamp,object,field,length,function) \ + { name, KX_PYATTRIBUTE_TYPE_SHORT, KX_PYATTRIBUTE_RW, min, max, 0.f, 0.f, clamp, offsetof(object,field), 0, length, &object::function, {NULL, ((object *)0)->field, NULL, NULL, NULL} } +#define KX_PYATTRIBUTE_SHORT_ARRAY_RO(name,object,field,length) \ + { name, KX_PYATTRIBUTE_TYPE_SHORT, KX_PYATTRIBUTE_RO, 0, 0, 0.f, 0.f, false, offsetof(object,field), 0, length, NULL, {NULL, ((object *)0)->field, NULL, NULL, NULL} } +// SHORT_LIST +#define KX_PYATTRIBUTE_SHORT_LIST_RW(name,min,max,clamp,object,field,length) \ { name, KX_PYATTRIBUTE_TYPE_SHORT, KX_PYATTRIBUTE_RW, min, max, 0.f, 0.f, clamp, offsetof(object,field), 0, length, NULL, {NULL, &((object *)0)->field, NULL, NULL, NULL} } -#define KX_PYATTRIBUTE_SHORT_ARRAY_RW_CHECK(name,min,max,clamp,object,field,length,function) \ +#define KX_PYATTRIBUTE_SHORT_LIST_RW_CHECK(name,min,max,clamp,object,field,length,function) \ { name, KX_PYATTRIBUTE_TYPE_SHORT, KX_PYATTRIBUTE_RW, min, max, 0.f, 0.f, clamp, offsetof(object,field), 0, length, &object::function, {NULL, &((object *)0)->field, NULL, NULL, NULL} } -#define KX_PYATTRIBUTE_SHORT_ARRAY_RO(name,object,field,length) \ +#define KX_PYATTRIBUTE_SHORT_LIST_RO(name,object,field,length) \ { name, KX_PYATTRIBUTE_TYPE_SHORT, KX_PYATTRIBUTE_RO, 0, 0, 0.f, 0.f, false, offsetof(object,field), 0, length, NULL, {NULL, &((object *)0)->field, NULL, NULL, NULL} } #define KX_PYATTRIBUTE_INT_RW(name,min,max,clamp,object,field) \ @@ -296,10 +303,17 @@ #define KX_PYATTRIBUTE_INT_RO(name,object,field) \ { name, KX_PYATTRIBUTE_TYPE_INT, KX_PYATTRIBUTE_RO, 0, 0, 0.f, 0.f, false, offsetof(object,field), 0, 1, NULL, {NULL, NULL, &((object *)0)->field, NULL, NULL} } #define KX_PYATTRIBUTE_INT_ARRAY_RW(name,min,max,clamp,object,field,length) \ + { name, KX_PYATTRIBUTE_TYPE_INT, KX_PYATTRIBUTE_RW, min, max, 0.f, 0.f, clamp, offsetof(object,field), 0, length, NULL, {NULL, NULL, ((object *)0)->field, NULL, NULL} } +#define KX_PYATTRIBUTE_INT_ARRAY_RW_CHECK(name,min,max,clamp,object,field,length,function) \ + { name, KX_PYATTRIBUTE_TYPE_INT, KX_PYATTRIBUTE_RW, min, max, 0.f, 0.f, clamp, offsetof(object,field), 0, length, &object::function, {NULL, NULL, ((object *)0)->field, NULL, NULL} } +#define KX_PYATTRIBUTE_INT_ARRAY_RO(name,object,field,length) \ + { name, KX_PYATTRIBUTE_TYPE_INT, KX_PYATTRIBUTE_RO, 0, 0, 0.f, 0.f, false, offsetof(object,field), 0, length, NULL, {NULL, NULL, ((object *)0)->field, NULL, NULL} } +// INT_LIST +#define KX_PYATTRIBUTE_INT_LIST_RW(name,min,max,clamp,object,field,length) \ { name, KX_PYATTRIBUTE_TYPE_INT, KX_PYATTRIBUTE_RW, min, max, 0.f, 0.f, clamp, offsetof(obj
[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [19044] branches/blender2.5/blender/source /blender: 2.5
Revision: 19044 http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=19044 Author: ton Date: 2009-02-19 20:03:53 +0100 (Thu, 19 Feb 2009) Log Message: --- 2.5 - Mesh Rip back (Vkey). For those who keep wondering how it works: just put mouse cursor somewhere close to the selection, press V and mouse mouse away from it. Feels like real rip! - Made extrude sorta work, no menu/options yet though. But it does transform! - Added an short event->mval[2] with region coords, easier coding for the guys :) - Fill operator standard delivers 'beauty' now Modified Paths: -- branches/blender2.5/blender/source/blender/editors/include/ED_view3d.h branches/blender2.5/blender/source/blender/editors/mesh/editmesh_add.c branches/blender2.5/blender/source/blender/editors/mesh/editmesh_mods.c branches/blender2.5/blender/source/blender/editors/mesh/editmesh_tools.c branches/blender2.5/blender/source/blender/editors/mesh/mesh_intern.h branches/blender2.5/blender/source/blender/editors/mesh/mesh_ops.c branches/blender2.5/blender/source/blender/editors/space_view3d/view3d_intern.h branches/blender2.5/blender/source/blender/editors/space_view3d/view3d_select.c branches/blender2.5/blender/source/blender/editors/space_view3d/vpaint.c branches/blender2.5/blender/source/blender/windowmanager/WM_types.h branches/blender2.5/blender/source/blender/windowmanager/intern/wm_event_system.c Modified: branches/blender2.5/blender/source/blender/editors/include/ED_view3d.h === --- branches/blender2.5/blender/source/blender/editors/include/ED_view3d.h 2009-02-19 18:53:43 UTC (rev 19043) +++ branches/blender2.5/blender/source/blender/editors/include/ED_view3d.h 2009-02-19 19:03:53 UTC (rev 19044) @@ -90,6 +90,8 @@ void viewray(struct ARegion *ar, struct View3D *v3d, short mval[2], float ray_start[3], float ray_normal[3]); int get_view3d_viewplane(struct View3D *v3d, struct RegionView3D *rv3d, int winxi, int winyi, rctf *viewplane, float *clipsta, float *clipend, float *pixsize); +void view3d_get_object_project_mat(struct RegionView3D *v3d, struct Object *ob, float pmat[4][4], float vmat[4][4]); +void view3d_project_float(struct ARegion *a, float *vec, float *adr, float mat[4][4]); /* drawobject.c itterators */ void mesh_foreachScreenVert(struct ViewContext *vc, void (*func)(void *userData, struct EditVert *eve, int x, int y, int index), void *userData, int clipVerts); Modified: branches/blender2.5/blender/source/blender/editors/mesh/editmesh_add.c === --- branches/blender2.5/blender/source/blender/editors/mesh/editmesh_add.c 2009-02-19 18:53:43 UTC (rev 19043) +++ branches/blender2.5/blender/source/blender/editors/mesh/editmesh_add.c 2009-02-19 19:03:53 UTC (rev 19044) @@ -124,13 +124,9 @@ EditVert *eve, *v1; float min[3], max[3]; int done= 0; - short mval[2]; em_setup_viewcontext(C, &vc); - mval[0]= event->x - vc.ar->winrct.xmin; - mval[1]= event->y - vc.ar->winrct.ymin; - INIT_MINMAX(min, max); for(v1= vc.em->verts.first;v1; v1=v1->next) { @@ -164,7 +160,7 @@ VECCOPY(min, cent); Mat4MulVecfl(vc.obedit->obmat, min);// view space - view3d_get_view_aligned_coordinate(&vc, min, mval); + view3d_get_view_aligned_coordinate(&vc, min, event->mval); Mat4Invert(vc.obedit->imat, vc.obedit->obmat); Mat4MulVecfl(vc.obedit->imat, min); // back in object space @@ -206,7 +202,7 @@ float *curs= give_cursor(vc.scene, vc.v3d); VECCOPY(min, curs); - view3d_get_view_aligned_coordinate(&vc, min, mval); + view3d_get_view_aligned_coordinate(&vc, min, event->mval); eve= addvertlist(vc.em, 0, NULL); Modified: branches/blender2.5/blender/source/blender/editors/mesh/editmesh_mods.c === --- branches/blender2.5/blender/source/blender/editors/mesh/editmesh_mods.c 2009-02-19 18:53:43 UTC (rev 19043) +++ branches/blender2.5/blender/source/blender/editors/mesh/editmesh_mods.c 2009-02-19 19:03:53 UTC (rev 19044) @@ -2024,15 +2024,10 @@ static int mesh_loop_select_invoke(bContext *C, wmOperator *op, wmEvent *event) { - ARegion *ar= CTX_wm_region(C); - short mval[2]; - mval[0]= event->x - ar->winrct.xmin; - mval[1]= event->y - ar->winrct.ymin; - view3d_operator_needs_opengl(C); - mouse_mesh_loop(C, mval, RNA_boolean_get(op->ptr, "extend"), + mouse_mesh_loop(C, event->mval, RNA_boolean_get(op->ptr, "e
[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [19043] branches/nurbs/blender: New Split tool by Laurynas Duburas
Revision: 19043 http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=19043 Author: eman Date: 2009-02-19 19:53:43 +0100 (Thu, 19 Feb 2009) Log Message: --- New Split tool by Laurynas Duburas Specials Menu (w) -> Split Also: Smart knot vector editing in extrude functions (actually currently overwritten by NRB_SizeChanged in cases other than knottype == 9) Modified Paths: -- branches/nurbs/blender/intern/nurbana/extern/nurbana.h branches/nurbs/blender/intern/nurbana/intern/NURBS_Degree.cpp branches/nurbs/blender/intern/nurbana/intern/NURBS_Knot.cpp branches/nurbs/blender/intern/nurbana/intern/NURBS_Knot.h branches/nurbs/blender/intern/nurbana/intern/NURBS_Utils.h branches/nurbs/blender/intern/nurbana/intern/Object_NURBS.cpp branches/nurbs/blender/intern/nurbana/intern/Object_NURBS.h branches/nurbs/blender/intern/nurbana/intern/Object_Primitives.cpp branches/nurbs/blender/intern/nurbana/intern/libNurbana.cpp branches/nurbs/blender/source/blender/include/butspace.h branches/nurbs/blender/source/blender/src/editcurve.c branches/nurbs/blender/source/blender/src/editobject.c branches/nurbs/blender/source/blender/src/header_view3d.c Modified: branches/nurbs/blender/intern/nurbana/extern/nurbana.h === --- branches/nurbs/blender/intern/nurbana/extern/nurbana.h 2009-02-19 17:13:04 UTC (rev 19042) +++ branches/nurbs/blender/intern/nurbana/extern/nurbana.h 2009-02-19 18:53:43 UTC (rev 19043) @@ -114,6 +114,7 @@ extern void NRB_setLength(int U, int V, int shiftU, int shiftV, int copyKnots, NurbanaObj_ptr nurb); extern void NRB_reallocKnots(int U, int V, int copy, NurbanaObj_ptr nurb); +extern void NRB_copyPatchFromBuffer(nbReal4 *buffer, int curveLength, int nextCurve, int curveCount, NurbanaObj_ptr nurb, int uOffset, int vOffset); extern void NRB_reallocCtlPts(int U, int V, int shiftU, int shiftV, NurbanaObj_ptr nurb); extern void NRB_ConvertToPrimitive(NurbanaObj_ptr nop,unsigned char type); @@ -151,6 +152,9 @@ extern void NRB_Refine(NurbanaObj_ptr nop, int U, int V); extern void NRB_KnotInsert(NurbanaObj_ptr nop,nbReal *X, int r, int UV); +extern void NRB_split(NurbanaObj_ptr nop, nbReal x, int uv, nbReal4* dst, int dstLen, int* frstLen, int* scndLen, int* k, int* newPoints, int* inserted); +extern void NRB_splitBuffer(nbReal4* buffer, int newPoints, NurbanaObj_ptr nop, NurbanaObj_ptr nop2, nbReal splitKnot, int newLength, int span, int uv, int frstLen, int scndLen); + extern void NRB_DegreeElevate(NurbanaObj_ptr nop,int Uinc, int Vinc); extern void NRB_DegreeReduce(NurbanaObj_ptr nop,int Udec, int Vdec); Modified: branches/nurbs/blender/intern/nurbana/intern/NURBS_Degree.cpp === --- branches/nurbs/blender/intern/nurbana/intern/NURBS_Degree.cpp 2009-02-19 17:13:04 UTC (rev 19042) +++ branches/nurbs/blender/intern/nurbana/intern/NURBS_Degree.cpp 2009-02-19 18:53:43 UTC (rev 19043) @@ -138,7 +138,7 @@ if (frstInsNum) { if (cyclic) { memcpy(pts - degree, pts - degree + curveLength, sizeof(*pts) * degree); - NURBS_Knot::insertCurveKnot(pts, curveLength + lastInsNum, 1, pts, 1, unwrappedKnots + degree, degree, frstInsKnot, frstInsIndex, degree - frstInsNum, frstInsNum); + insertCurveKnot(pts, curveLength + lastInsNum, 1, pts, 1, unwrappedKnots + degree, degree, frstInsKnot, frstInsIndex, degree - frstInsNum, frstInsNum); curveLength += frstInsNum; memcpy(pts - degree + curveLength, pts - degree, sizeof(*pts) * degree); pts += frstInsIndex - (degree - frstInsNum); Modified: branches/nurbs/blender/intern/nurbana/intern/NURBS_Knot.cpp === --- branches/nurbs/blender/intern/nurbana/intern/NURBS_Knot.cpp 2009-02-19 17:13:04 UTC (rev 19042) +++ branches/nurbs/blender/intern/nurbana/intern/NURBS_Knot.cpp 2009-02-19 18:53:43 UTC (rev 19043) @@ -135,6 +135,15 @@ return count; } +void NURBS_Knot::getSpanAndMult(nbReal u, int degree, int curveLength, bool cyclic, const nbReal *knots, int& k, int& mult) { + mult = 0; + for (int i = 0; i <= curveLength + degree + 1; i++) { + if (knots[i] == u) + mult++; + } + k = NURBS_Knot::FindSpanRef(u, degree, curveLength + 1 + (cyclic ? degree: 0), knots); +} + int NURBS_Knot::FindSpan(int Unpts, int p, nbReal u, nbReal *KnotVector) { int low,mid,high; @@ -244,16 +253,19 @@ const int deg
[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [19042] branches/blender2.5/blender/source /blender/editors: 2.5
Revision: 19042 http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=19042 Author: ton Date: 2009-02-19 18:13:04 +0100 (Thu, 19 Feb 2009) Log Message: --- 2.5 Made sliders behave correct in SpaceGraph and SpaceAction. - no slider draw when all is visible - sliders update correct when visibility changes. Still an issue here to tackle; view2d->tot is used incorrect... it's set on window size now (??), it should be the boundbox of the entire contents. That allows correct slider draws and ops like 'view home'. Will poke Joshua tomorrow. :) Modified Paths: -- branches/blender2.5/blender/source/blender/editors/interface/view2d.c branches/blender2.5/blender/source/blender/editors/space_action/action_draw.c branches/blender2.5/blender/source/blender/editors/space_graph/graph_draw.c branches/blender2.5/blender/source/blender/editors/space_graph/space_graph.c Modified: branches/blender2.5/blender/source/blender/editors/interface/view2d.c === --- branches/blender2.5/blender/source/blender/editors/interface/view2d.c 2009-02-19 16:39:36 UTC (rev 19041) +++ branches/blender2.5/blender/source/blender/editors/interface/view2d.c 2009-02-19 17:13:04 UTC (rev 19042) @@ -731,10 +731,18 @@ /* Change the size of the maximum viewable area (i.e. 'tot' rect) */ void UI_view2d_totRect_set (View2D *v2d, int width, int height) { + int scroll= view2d_scroll_mapped(v2d->scroll); + /* don't do anything if either value is 0 */ width= abs(width); height= abs(height); + /* hrumf! */ + if(scroll & V2D_SCROLL_HORIZONTAL) + width -= V2D_SCROLL_WIDTH; + if(scroll & V2D_SCROLL_VERTICAL) + height -= V2D_SCROLL_HEIGHT; + if (ELEM3(0, v2d, width, height)) { printf("Error: View2D totRect set exiting: v2d=%p width=%d height=%d \n", v2d, width, height); // XXX temp debug info return; Modified: branches/blender2.5/blender/source/blender/editors/space_action/action_draw.c === --- branches/blender2.5/blender/source/blender/editors/space_action/action_draw.c 2009-02-19 16:39:36 UTC (rev 19041) +++ branches/blender2.5/blender/source/blender/editors/space_action/action_draw.c 2009-02-19 17:13:04 UTC (rev 19042) @@ -1037,12 +1037,10 @@ *start of list offset, and the second is as a correction for the scrollers. */ height= ((items*ACHANNEL_STEP) + (ACHANNEL_HEIGHT*2)); - if (height > (v2d->mask.ymax - v2d->mask.ymin)) { - /* don't use totrect set, as the width stays the same -* (NOTE: this is ok here, the configuration is pretty straightforward) -*/ - v2d->tot.ymin= (float)(-height); - } + /* don't use totrect set, as the width stays the same +* (NOTE: this is ok here, the configuration is pretty straightforward) +*/ + v2d->tot.ymin= (float)(-height); /* first backdrop strips */ y= (float)(-ACHANNEL_HEIGHT); Modified: branches/blender2.5/blender/source/blender/editors/space_graph/graph_draw.c === --- branches/blender2.5/blender/source/blender/editors/space_graph/graph_draw.c 2009-02-19 16:39:36 UTC (rev 19041) +++ branches/blender2.5/blender/source/blender/editors/space_graph/graph_draw.c 2009-02-19 17:13:04 UTC (rev 19042) @@ -786,7 +786,7 @@ } /* XXX I would call the below line! (ton) */ - /* UI_view2d_totRect_set(v2d, ar->type->minsizex, height); */ + UI_view2d_totRect_set(v2d, ar->winx, height); /* loop through channels, and set up drawing depending on their type */ y= (float)ACHANNEL_FIRST; Modified: branches/blender2.5/blender/source/blender/editors/space_graph/space_graph.c === --- branches/blender2.5/blender/source/blender/editors/space_graph/space_graph.c 2009-02-19 16:39:36 UTC (rev 19041) +++ branches/blender2.5/blender/source/blender/editors/space_graph/space_graph.c 2009-02-19 17:13:04 UTC (rev 19042) @@ -482,7 +482,7 @@ /* regions: channels */ art= MEM_callocN(sizeof(ARegionType), "spacetype graphedit region"); art->regionid = RGN_TYPE_CHANNELS; - art->minsizex= 214; /* 200 is the 'standard', but due to scrollers, we want a bit more to fit the lock icons in */ + art->minsizex= 200+V2D_SCROLL_WIDTH; /* 200 is the 'standard', but due to scrollers, we want a bit more to fit the lock icons in */ art->keymapflag= ED_KEYMAP_UI|ED_KEYMAP_VIEW2D|ED_KEYMAP_FRAMES; art->listener= graph_region_listener; art->init= graph_
[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [19041] branches/blender2.5/blender/source /blender: 4 new function, boundbox, width, height and rotation.
Revision: 19041 http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=19041 Author: bdiego Date: 2009-02-19 17:39:36 +0100 (Thu, 19 Feb 2009) Log Message: --- 4 new function, boundbox, width, height and rotation. The rotation is through glRotatef and as you can see it's ugly, the freetype2 allow apply a transformation (2x2 mat) to the glyph before load, so I want to try using that. Another thing to add is the 4x4 mat to get the scale and size from there.. but I need commit this now to continue from my home. Modified Paths: -- branches/blender2.5/blender/source/blender/blenfont/BLF_api.h branches/blender2.5/blender/source/blender/blenfont/intern/blf.c branches/blender2.5/blender/source/blender/blenfont/intern/blf_font.c branches/blender2.5/blender/source/blender/blenfont/intern/blf_internal.h branches/blender2.5/blender/source/blender/blenfont/intern/blf_internal_types.h branches/blender2.5/blender/source/blender/editors/space_info/space_info.c Modified: branches/blender2.5/blender/source/blender/blenfont/BLF_api.h === --- branches/blender2.5/blender/source/blender/blenfont/BLF_api.h 2009-02-19 16:22:07 UTC (rev 19040) +++ branches/blender2.5/blender/source/blender/blenfont/BLF_api.h 2009-02-19 16:39:36 UTC (rev 19041) @@ -41,6 +41,11 @@ void BLF_size(int size, int dpi); void BLF_draw(char *str); +void BLF_boundbox(char *str, rctf *box); +float BLF_width(char *str); +float BLF_height(char *str); +void BLF_rotation(float angle); + /* Read the .Blanguages file, return 1 on success or 0 if fails. */ int BLF_lang_init(void); Modified: branches/blender2.5/blender/source/blender/blenfont/intern/blf.c === --- branches/blender2.5/blender/source/blender/blenfont/intern/blf.c 2009-02-19 16:22:07 UTC (rev 19040) +++ branches/blender2.5/blender/source/blender/blenfont/intern/blf.c 2009-02-19 16:39:36 UTC (rev 19041) @@ -29,6 +29,7 @@ #include #include #include +#include #ifdef WITH_FREETYPE2 @@ -229,9 +230,26 @@ { #ifdef WITH_FREETYPE2 FontBLF *font; + float remainder; font= global_font[global_font_cur]; if (font) { + remainder= x - floor(x); + if (remainder > 0.4 && remainder < 0.6) { + if (remainder < 0.5) + x -= 0.1 * font->aspect; + else + x += 0.1 * font->aspect; + } + + remainder= y - floor(y); + if (remainder > 0.4 && remainder < 0.6) { + if (remainder < 0.5) + y -= 0.1 * font->aspect; + else + y += 0.1 * font->aspect; + } + font->pos[0]= x; font->pos[1]= y; font->pos[2]= z; @@ -263,6 +281,8 @@ glPushMatrix(); glTranslatef(font->pos[0], font->pos[1], font->pos[2]); + glScalef(font->aspect, font->aspect, 1.0); + glRotatef(font->angle, 0.0f, 0.0f, 1.0f); blf_font_draw(font, str); @@ -272,3 +292,49 @@ } #endif /* WITH_FREETYPE2 */ } + +void BLF_boundbox(char *str, rctf *box) +{ +#ifdef WITH_FREETYPE2 + FontBLF *font; + + font= global_font[global_font_cur]; + if (font && font->glyph_cache) + blf_font_boundbox(font, str, box); +#endif +} + +float BLF_width(char *str) +{ +#ifdef WITH_FREETYPE2 + FontBLF *font; + + font= global_font[global_font_cur]; + if (font && font->glyph_cache) + return(blf_font_width(font, str)); +#endif + return(0.0f); +} + +float BLF_height(char *str) +{ +#ifdef WITH_FREETYPE2 + FontBLF *font; + + font= global_font[global_font_cur]; + if (font && font->glyph_cache) + return(blf_font_height(font, str)); +#endif + return(0.0f); +} + +void BLF_rotation(float angle) +{ +#ifdef WITH_FREETYPE2 + FontBLF *font; + + font= global_font[global_font_cur]; + if (font) + font->angle= angle; +#endif +} Modified: branches/blender2.5/blender/source/blender/blenfont/intern/blf_font.c === --- branches/blender2.5/blender/source/blender/blenfont/intern/blf_font.c 2009-02-19 16:22:07 UTC (rev 19040) +++ branches/blender2.5/blender/source/blender/blenfont/intern/blf_font.c 2009-02-19 16:39:36 UTC (rev 19041) @@ -78,9 +78,7 @@ font->aspect= 1.0f; font->pos[0]= 0.0f; font->pos[1]= 0.0f; - font->angle[0]= 0.0f; - font->angle[1]= 0.0f; - font->angle[2]= 0.0f; + font->angle= 0.0f; Mat4One(font->mat); font->clip_rec.xmin=
[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [19040] branches/blender2.5/blender/source : 2.5
Revision: 19040 http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=19040 Author: ton Date: 2009-02-19 17:22:07 +0100 (Thu, 19 Feb 2009) Log Message: --- 2.5 Assorted smaller fixes: - Fix: modal keymaps for editmode in view3d were not set again when you copy areas or go fullscreen. - Improved "redo last op" (F6) to search back in history for a redoable operator. Operator also used wrong pupmenu type. - On creating new FCurve editor, the channel rainbow colors are set correct. - EditMesh: fixed code for Spin/Screw, correct props, init and error reporting. (Spin hotkey ALT+R temporary) - recompiled all to check for uninitialized variable warnings. (compile flag should be -O for this). Fixed some proto's. Modified Paths: -- branches/blender2.5/blender/source/blender/blenkernel/intern/armature.c branches/blender2.5/blender/source/blender/blenkernel/intern/brush.c branches/blender2.5/blender/source/blender/blenkernel/intern/image.c branches/blender2.5/blender/source/blender/blenkernel/intern/multires.c branches/blender2.5/blender/source/blender/blenloader/intern/readfile.c branches/blender2.5/blender/source/blender/editors/animation/keyframing.c branches/blender2.5/blender/source/blender/editors/armature/editarmature.c branches/blender2.5/blender/source/blender/editors/interface/interface_utils.c branches/blender2.5/blender/source/blender/editors/mesh/editdeform.c branches/blender2.5/blender/source/blender/editors/mesh/editface.c branches/blender2.5/blender/source/blender/editors/mesh/editmesh_loop.c branches/blender2.5/blender/source/blender/editors/mesh/editmesh_tools.c branches/blender2.5/blender/source/blender/editors/object/object_edit.c branches/blender2.5/blender/source/blender/editors/screen/area.c branches/blender2.5/blender/source/blender/editors/screen/screen_ops.c branches/blender2.5/blender/source/blender/editors/space_node/node_edit.c branches/blender2.5/blender/source/blender/editors/space_view3d/space_view3d.c branches/blender2.5/blender/source/blender/editors/space_view3d/view3d_edit.c branches/blender2.5/blender/source/blender/editors/space_view3d/vpaint.c branches/blender2.5/blender/source/blender/editors/util/editmode_undo.c branches/blender2.5/blender/source/blender/editors/uvedit/uvedit_ops.c branches/blender2.5/blender/source/blender/makesdna/DNA_view3d_types.h branches/blender2.5/blender/source/blender/render/intern/source/convertblender.c branches/blender2.5/blender/source/gameengine/BlenderRoutines/KX_BlenderInputDevice.h branches/blender2.5/blender/source/gameengine/Converter/KX_ConvertSensors.cpp branches/blender2.5/blender/source/nan_compile.mk Modified: branches/blender2.5/blender/source/blender/blenkernel/intern/armature.c === --- branches/blender2.5/blender/source/blender/blenkernel/intern/armature.c 2009-02-19 13:42:07 UTC (rev 19039) +++ branches/blender2.5/blender/source/blender/blenkernel/intern/armature.c 2009-02-19 16:22:07 UTC (rev 19040) @@ -1579,7 +1579,7 @@ PoseTree *tree; PoseTarget *target; bConstraint *con; - bKinematicConstraint *data; + bKinematicConstraint *data= NULL; int a, segcount= 0, size, newsize, *oldparent, parent; /* find IK constraint, and validate it */ Modified: branches/blender2.5/blender/source/blender/blenkernel/intern/brush.c === --- branches/blender2.5/blender/source/blender/blenkernel/intern/brush.c 2009-02-19 13:42:07 UTC (rev 19039) +++ branches/blender2.5/blender/source/blender/blenkernel/intern/brush.c 2009-02-19 16:22:07 UTC (rev 19040) @@ -1056,7 +1056,7 @@ void brush_radial_control_invoke(wmOperator *op, Brush *br) { int mode = RNA_int_get(op->ptr, "mode"); - float original_value; + float original_value= 0; if(mode == WM_RADIALCONTROL_SIZE) original_value = br->size; Modified: branches/blender2.5/blender/source/blender/blenkernel/intern/image.c === --- branches/blender2.5/blender/source/blender/blenkernel/intern/image.c 2009-02-19 13:42:07 UTC (rev 19039) +++ branches/blender2.5/blender/source/blender/blenkernel/intern/image.c 2009-02-19 16:22:07 UTC (rev 19040) @@ -1051,7 +1051,7 @@ } if (scene->r.stamp & R_STAMP_SEQSTRIP) { - Sequence *seq; //XXX = get_forground_frame_seq(scene->r.cfra); + Sequence *seq= NULL; //XXX = get_forground_frame_seq(scene->r.cfra); if (seq) strcpy(text, seq->name+2); elsestrcpy(text, ""); @@ -1800,7 +1800,7 @@ /* always returns a single ibuf, also during render progre
[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [19039] trunk/blender/source/gameengine: BGE Python API
Revision: 19039 http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=19039 Author: campbellbarton Date: 2009-02-19 14:42:07 +0100 (Thu, 19 Feb 2009) Log Message: --- BGE Python API Use 'const char *' rather then the C++ 'STR_String' type for the attribute identifier of python attributes. Each attribute and method access from python was allocating and freeing the string. A simple test with getting an attribute a loop shows this speeds up attribute lookups a bit over 2x. Modified Paths: -- trunk/blender/source/gameengine/Converter/BL_ActionActuator.cpp trunk/blender/source/gameengine/Converter/BL_ActionActuator.h trunk/blender/source/gameengine/Converter/BL_BlenderDataConversion.cpp trunk/blender/source/gameengine/Converter/BL_ShapeActionActuator.cpp trunk/blender/source/gameengine/Converter/BL_ShapeActionActuator.h trunk/blender/source/gameengine/Expressions/ListValue.cpp trunk/blender/source/gameengine/Expressions/ListValue.h trunk/blender/source/gameengine/Expressions/PyObjectPlus.cpp trunk/blender/source/gameengine/Expressions/PyObjectPlus.h trunk/blender/source/gameengine/Expressions/Value.cpp trunk/blender/source/gameengine/Expressions/Value.h trunk/blender/source/gameengine/GameLogic/SCA_2DFilterActuator.cpp trunk/blender/source/gameengine/GameLogic/SCA_2DFilterActuator.h trunk/blender/source/gameengine/GameLogic/SCA_ANDController.cpp trunk/blender/source/gameengine/GameLogic/SCA_ANDController.h trunk/blender/source/gameengine/GameLogic/SCA_ActuatorSensor.cpp trunk/blender/source/gameengine/GameLogic/SCA_ActuatorSensor.h trunk/blender/source/gameengine/GameLogic/SCA_AlwaysSensor.cpp trunk/blender/source/gameengine/GameLogic/SCA_AlwaysSensor.h trunk/blender/source/gameengine/GameLogic/SCA_DelaySensor.cpp trunk/blender/source/gameengine/GameLogic/SCA_DelaySensor.h trunk/blender/source/gameengine/GameLogic/SCA_ExpressionController.h trunk/blender/source/gameengine/GameLogic/SCA_ILogicBrick.cpp trunk/blender/source/gameengine/GameLogic/SCA_ILogicBrick.h trunk/blender/source/gameengine/GameLogic/SCA_IObject.cpp trunk/blender/source/gameengine/GameLogic/SCA_IObject.h trunk/blender/source/gameengine/GameLogic/SCA_ISensor.cpp trunk/blender/source/gameengine/GameLogic/SCA_ISensor.h trunk/blender/source/gameengine/GameLogic/SCA_JoystickSensor.cpp trunk/blender/source/gameengine/GameLogic/SCA_JoystickSensor.h trunk/blender/source/gameengine/GameLogic/SCA_KeyboardSensor.cpp trunk/blender/source/gameengine/GameLogic/SCA_KeyboardSensor.h trunk/blender/source/gameengine/GameLogic/SCA_MouseSensor.cpp trunk/blender/source/gameengine/GameLogic/SCA_MouseSensor.h trunk/blender/source/gameengine/GameLogic/SCA_NANDController.cpp trunk/blender/source/gameengine/GameLogic/SCA_NANDController.h trunk/blender/source/gameengine/GameLogic/SCA_NORController.cpp trunk/blender/source/gameengine/GameLogic/SCA_NORController.h trunk/blender/source/gameengine/GameLogic/SCA_ORController.cpp trunk/blender/source/gameengine/GameLogic/SCA_ORController.h trunk/blender/source/gameengine/GameLogic/SCA_PropertyActuator.cpp trunk/blender/source/gameengine/GameLogic/SCA_PropertyActuator.h trunk/blender/source/gameengine/GameLogic/SCA_PropertySensor.cpp trunk/blender/source/gameengine/GameLogic/SCA_PropertySensor.h trunk/blender/source/gameengine/GameLogic/SCA_PythonController.cpp trunk/blender/source/gameengine/GameLogic/SCA_PythonController.h trunk/blender/source/gameengine/GameLogic/SCA_RandomActuator.cpp trunk/blender/source/gameengine/GameLogic/SCA_RandomActuator.h trunk/blender/source/gameengine/GameLogic/SCA_RandomSensor.cpp trunk/blender/source/gameengine/GameLogic/SCA_RandomSensor.h trunk/blender/source/gameengine/GameLogic/SCA_XNORController.cpp trunk/blender/source/gameengine/GameLogic/SCA_XNORController.h trunk/blender/source/gameengine/GameLogic/SCA_XORController.cpp trunk/blender/source/gameengine/GameLogic/SCA_XORController.h trunk/blender/source/gameengine/Ketsji/BL_Shader.cpp trunk/blender/source/gameengine/Ketsji/BL_Shader.h trunk/blender/source/gameengine/Ketsji/BL_Texture.cpp trunk/blender/source/gameengine/Ketsji/KXNetwork/KX_NetworkMessageActuator.cpp trunk/blender/source/gameengine/Ketsji/KXNetwork/KX_NetworkMessageActuator.h trunk/blender/source/gameengine/Ketsji/KXNetwork/KX_NetworkMessageSensor.cpp trunk/blender/source/gameengine/Ketsji/KXNetwork/KX_NetworkMessageSensor.h trunk/blender/source/gameengine/Ketsji/KX_BlenderMaterial.cpp trunk/blender/source/gameengine/Ketsji/KX_BlenderMaterial.h trunk/blender/source/gameengine/Ketsji/KX_CDActuator.cpp trunk/blender/source/gameengine/Ketsji/KX_CDActuator.h trunk/blender/source/gameengine/Ketsji/KX_Camera.cpp trunk/blender/source/gameen
[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [19038] trunk/blender/source/gameengine: " object" and "objectLastCreated" attribute for actuators, deprecates getObject/setObject() & getLastCreatedO
Revision: 19038 http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=19038 Author: campbellbarton Date: 2009-02-19 11:34:51 +0100 (Thu, 19 Feb 2009) Log Message: --- "object" and "objectLastCreated" attribute for actuators, deprecates getObject/setObject() & getLastCreatedObject() also removed some warnings Modified Paths: -- trunk/blender/source/gameengine/Converter/BL_ShapeActionActuator.h trunk/blender/source/gameengine/Ketsji/KX_CameraActuator.cpp trunk/blender/source/gameengine/Ketsji/KX_ParentActuator.cpp trunk/blender/source/gameengine/Ketsji/KX_ParentActuator.h trunk/blender/source/gameengine/Ketsji/KX_SCA_AddObjectActuator.cpp trunk/blender/source/gameengine/Ketsji/KX_SCA_AddObjectActuator.h trunk/blender/source/gameengine/Ketsji/KX_TrackToActuator.cpp trunk/blender/source/gameengine/Ketsji/KX_TrackToActuator.h trunk/blender/source/gameengine/PyDoc/KX_CameraActuator.py trunk/blender/source/gameengine/PyDoc/KX_ParentActuator.py trunk/blender/source/gameengine/PyDoc/KX_SCA_AddObjectActuator.py trunk/blender/source/gameengine/PyDoc/KX_TrackToActuator.py Modified: trunk/blender/source/gameengine/Converter/BL_ShapeActionActuator.h === --- trunk/blender/source/gameengine/Converter/BL_ShapeActionActuator.h 2009-02-19 10:21:17 UTC (rev 19037) +++ trunk/blender/source/gameengine/Converter/BL_ShapeActionActuator.h 2009-02-19 10:34:51 UTC (rev 19038) @@ -169,8 +169,8 @@ short m_playtype; short m_priority; struct bAction *m_action; + STR_String m_framepropname; STR_String m_propname; - STR_String m_framepropname; vector m_blendshape; }; Modified: trunk/blender/source/gameengine/Ketsji/KX_CameraActuator.cpp === --- trunk/blender/source/gameengine/Ketsji/KX_CameraActuator.cpp 2009-02-19 10:21:17 UTC (rev 19037) +++ trunk/blender/source/gameengine/Ketsji/KX_CameraActuator.cpp 2009-02-19 10:34:51 UTC (rev 19038) @@ -398,9 +398,9 @@ }; PyMethodDef KX_CameraActuator::Methods[] = { + // ---> deprecated (all) {"setObject",(PyCFunction) KX_CameraActuator::sPySetObject, METH_O, (PY_METHODCHAR)SetObject_doc}, {"getObject",(PyCFunction) KX_CameraActuator::sPyGetObject, METH_VARARGS, (PY_METHODCHAR)GetObject_doc}, - // ---> deprecated {"setMin" ,(PyCFunction) KX_CameraActuator::sPySetMin, METH_VARARGS, (PY_METHODCHAR)SetMin_doc}, {"getMin" ,(PyCFunction) KX_CameraActuator::sPyGetMin, METH_NOARGS,(PY_METHODCHAR)GetMin_doc}, {"setMax" ,(PyCFunction) KX_CameraActuator::sPySetMax, METH_VARARGS, (PY_METHODCHAR)SetMax_doc}, @@ -421,14 +421,40 @@ }; PyObject* KX_CameraActuator::_getattr(const STR_String& attr) { - PyObject* object = _getattr_self(Attributes, this, attr); + PyObject* object; + + if (attr == "object") { + if (!m_ob) Py_RETURN_NONE; + elsereturn m_ob->AddRef(); + } + + object = _getattr_self(Attributes, this, attr); if (object != NULL) return object; _getattr_up(SCA_IActuator); } int KX_CameraActuator::_setattr(const STR_String& attr, PyObject* value) { - int ret = _setattr_self(Attributes, this, attr, value); + int ret; + + if (attr == "object") { + KX_GameObject *gameobj; + + if (!ConvertPythonToGameObject(value, &gameobj, true)) + return 1; // ConvertPythonToGameObject sets the error + + if (m_ob != NULL) + m_ob->UnregisterActuator(this); + + m_ob = (SCA_IObject*)gameobj; + + if (m_ob) + m_ob->RegisterActuator(this); + + return 0; + } + + ret = _setattr_self(Attributes, this, attr, value); if (ret >= 0) return ret; return SCA_IActuator::_setattr(attr, value); @@ -442,6 +468,9 @@ PyObject* KX_CameraActuator::PyGetObject(PyObject* self, PyObject* args) { int ret_name_only = 1; + + ShowDeprecationWarning("getObject()", "the object property"); + if (!PyArg_ParseTuple(args, "|i", &ret_name_only)) return NULL; @@ -462,6 +491,8 @@ { KX_GameObject *gameobj; + ShowDeprecationWarning("setObject()", "the object property"); + if (!ConvertPythonToGameObject(value, &gameobj, true)) return NULL; // ConvertPythonToGameObject sets the error Modified: trunk/blender/source/gameengine/Ketsji/KX_ParentActuator.cpp
[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [19037] branches/blender2.5/blender/source /blender/editors/screen/screen_ops.c: 2.5
Revision: 19037 http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=19037 Author: ton Date: 2009-02-19 11:21:17 +0100 (Thu, 19 Feb 2009) Log Message: --- 2.5 - Fix in ESC for render output window; it didn't check the 'full' and 'prevspace' flags correct. In some cases it left the screen in 'full' mode on ESC. - Added modal handler on a render, which catches the ESC while render, to prevent that ESC to be passed on to the image window. This handler can be further elaborated later to prevent edit accidents while render is in progress. I already notice some derivedmesh/customdata free errors on render now Modified Paths: -- branches/blender2.5/blender/source/blender/editors/screen/screen_ops.c Modified: branches/blender2.5/blender/source/blender/editors/screen/screen_ops.c === --- branches/blender2.5/blender/source/blender/editors/screen/screen_ops.c 2009-02-19 07:01:49 UTC (rev 19036) +++ branches/blender2.5/blender/source/blender/editors/screen/screen_ops.c 2009-02-19 10:21:17 UTC (rev 19037) @@ -2145,6 +2145,22 @@ return 0; } +/* catch esc */ +static int screen_render_modal(bContext *C, wmOperator *op, wmEvent *event) +{ + /* no running blender, remove handler and pass through */ + if(0==WM_jobs_test(CTX_wm_manager(C), CTX_data_scene(C))) + return OPERATOR_FINISHED|OPERATOR_PASS_THROUGH; + + /* running render */ + switch (event->type) { + case ESCKEY: + return OPERATOR_RUNNING_MODAL; + break; + } + return OPERATOR_PASS_THROUGH; +} + /* using context, starts job */ static int screen_render_invoke(bContext *C, wmOperator *op, wmEvent *event) { @@ -2209,7 +2225,10 @@ WM_cursor_wait(0); WM_event_add_notifier(C, NC_SCENE|ND_RENDER_RESULT, scene); - return OPERATOR_FINISHED; + /* add modal handler for ESC */ + WM_event_add_modal_handler(C, &CTX_wm_window(C)->handlers, op); + + return OPERATOR_RUNNING_MODAL; } @@ -,6 +2241,7 @@ /* api callbacks */ ot->invoke= screen_render_invoke; + ot->modal= screen_render_modal; ot->exec= screen_render_exec; ot->poll= ED_operator_screenactive; @@ -2239,12 +2259,18 @@ if(sima->flag & SI_PREVSPACE) { sima->flag &= ~SI_PREVSPACE; - ED_area_prevspace(C); + + if(sima->flag & SI_FULLWINDOW) { + sima->flag &= ~SI_FULLWINDOW; + ED_screen_full_prevspace(C); + } + else + ED_area_prevspace(C); } else if(sima->flag & SI_FULLWINDOW) { sima->flag &= ~SI_FULLWINDOW; - ED_screen_full_prevspace(C); - } + ed_screen_fullarea(C, sa); + } return OPERATOR_FINISHED; } ___ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org http://lists.blender.org/mailman/listinfo/bf-blender-cvs