From d5f160d1e82f556cc7ad4646104ee09b07967fa8 Mon Sep 17 00:00:00 2001 From: Nathan Letwory Date: Mon, 18 Oct 2010 20:32:11 +0000 Subject: Mangle unused parameter names also on non-GCC platforms. This should help in situations where a coder starts using the previously unused tagged parameter after all, reminding the coder to remove the tag and check further. --- source/blender/blenkernel/BKE_utildefines.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/blender/blenkernel/BKE_utildefines.h b/source/blender/blenkernel/BKE_utildefines.h index 33ab6c36b74..8359bfdb01b 100644 --- a/source/blender/blenkernel/BKE_utildefines.h +++ b/source/blender/blenkernel/BKE_utildefines.h @@ -49,7 +49,7 @@ #ifdef __GNUC__ # define UNUSED(x) UNUSED_ ## x __attribute__((__unused__)) #else -# define UNUSED(x) x +# define UNUSED(x) UNUSED_ ## x #endif /* these values need to be hardcoded in structs, dna does not recognize defines */ -- cgit v1.2.3 From 6e77dc19428a7887c6bee80f2485cb4628d03b78 Mon Sep 17 00:00:00 2001 From: Nathan Letwory Date: Mon, 18 Oct 2010 20:33:04 +0000 Subject: whitespace commit, AKA commit count bump. --- build_files/scons/config/win64-vc-config.py | 2 +- source/creator/creator.c | 16 ++++++++-------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/build_files/scons/config/win64-vc-config.py b/build_files/scons/config/win64-vc-config.py index 8987d66a7a0..78d90187abf 100644 --- a/build_files/scons/config/win64-vc-config.py +++ b/build_files/scons/config/win64-vc-config.py @@ -172,7 +172,7 @@ BGE_CXXFLAGS = ['/O2', '/EHsc', '/GR', '/fp:fast'] BF_DEBUG_CCFLAGS = ['/Zi', '/FR${TARGET}.sbr'] -CPPFLAGS = ['-DWIN32','-D_CONSOLE', '-D_LIB', '-DFTGL_LIBRARY_STATIC', '-D_CRT_SECURE_NO_DEPRECATE'] +CPPFLAGS = ['-DWIN32', '-D_CONSOLE', '-D_LIB', '-DFTGL_LIBRARY_STATIC', '-D_CRT_SECURE_NO_DEPRECATE'] REL_CFLAGS = ['-O2', '-DNDEBUG'] REL_CCFLAGS = ['-O2', '-DNDEBUG'] REL_CXXFLAGS = ['-O2', '-DNDEBUG'] diff --git a/source/creator/creator.c b/source/creator/creator.c index fce71edcced..117efe6bba6 100644 --- a/source/creator/creator.c +++ b/source/creator/creator.c @@ -1046,14 +1046,14 @@ int main(int argc, char **argv) BLI_where_am_i(bprogname, argv[0]); #ifdef BUILD_DATE - strip_quotes(build_date); - strip_quotes(build_time); - strip_quotes(build_rev); - strip_quotes(build_platform); - strip_quotes(build_type); - strip_quotes(build_cflags); - strip_quotes(build_cxxflags); - strip_quotes(build_linkflags); + strip_quotes(build_date); + strip_quotes(build_time); + strip_quotes(build_rev); + strip_quotes(build_platform); + strip_quotes(build_type); + strip_quotes(build_cflags); + strip_quotes(build_cxxflags); + strip_quotes(build_linkflags); #endif BLI_threadapi_init(); -- cgit v1.2.3 From f08a9dfd8a9b7d6ba10d764f087c5bbd3ff1013d Mon Sep 17 00:00:00 2001 From: Nathan Letwory Date: Mon, 18 Oct 2010 20:41:52 +0000 Subject: Add operator for toggling cmd box on Windows. Use through search menu (Toggle System Console) or call bpy.ops.wm.toggle_console(). This is based on patch [#6927] Optional Console for Windows by Fahrezal Effendi, submitted on July 10th, 2007 (!) This paves the way for adding a command-line option to Blender to toggle this cmd console, and for having a user preference option for this. Command-line option I haven't added yet, as there seemed to be problems with Python interpreter initialization (read: crashes). This works by redirecting stdout and stderr to blenderlog.txt in user temp directory (most likely %TEMP%\blenderlog.txt). When python problem is fixed we can use this to always redirect stdout and stderr to this logfile, making it also easier for us to ask users for this file in bugreports. --- source/blender/windowmanager/WM_api.h | 9 +++- source/blender/windowmanager/intern/wm_operators.c | 62 +++++++++++++++++++++- 2 files changed, 68 insertions(+), 3 deletions(-) diff --git a/source/blender/windowmanager/WM_api.h b/source/blender/windowmanager/WM_api.h index 197f99b989e..2a36e91ac66 100644 --- a/source/blender/windowmanager/WM_api.h +++ b/source/blender/windowmanager/WM_api.h @@ -119,7 +119,7 @@ wmKeyMapItem *WM_keymap_add_item(struct wmKeyMap *keymap, char *idname, int type wmKeyMapItem *WM_keymap_add_menu(struct wmKeyMap *keymap, char *idname, int type, int val, int modifier, int keymodifier); -void WM_keymap_remove_item(struct wmKeyMap *keymap, struct wmKeyMapItem *kmi); +void WM_keymap_remove_item(struct wmKeyMap *keymap, struct wmKeyMapItem *kmi); char *WM_keymap_item_to_string(wmKeyMapItem *kmi, char *str, int len); wmKeyMap *WM_keymap_list_find(ListBase *lb, char *idname, int spaceid, int regionid); @@ -220,7 +220,7 @@ struct wmOperatorTypeMacro *WM_operatortype_macro_define(struct wmOperatorType * int WM_operator_poll (struct bContext *C, struct wmOperatorType *ot); int WM_operator_call (struct bContext *C, struct wmOperator *op); int WM_operator_repeat (struct bContext *C, struct wmOperator *op); -int WM_operator_name_call (struct bContext *C, const char *opstring, int context, struct PointerRNA *properties); +int WM_operator_name_call (struct bContext *C, const char *opstring, int context, struct PointerRNA *properties); int WM_operator_call_py(struct bContext *C, struct wmOperatorType *ot, int context, struct PointerRNA *properties, struct ReportList *reports); void WM_operator_properties_alloc(struct PointerRNA **ptr, struct IDProperty **properties, const char *opstring); /* used for keymap and macro items */ @@ -342,6 +342,11 @@ void WM_clipboard_text_set(char *buf, int selection); void WM_progress_set(struct wmWindow *win, float progress); void WM_progress_clear(struct wmWindow *win); +#ifdef WIN32 + /* Windows System Console */ +void WM_toggle_console(struct bContext *C, short show); +#endif + #ifdef __cplusplus } #endif diff --git a/source/blender/windowmanager/intern/wm_operators.c b/source/blender/windowmanager/intern/wm_operators.c index de08c209d06..ccdb19adfce 100644 --- a/source/blender/windowmanager/intern/wm_operators.c +++ b/source/blender/windowmanager/intern/wm_operators.c @@ -31,7 +31,10 @@ #include #include #include - +#ifdef WIN32 +#include +#include +#endif #include "DNA_ID.h" #include "DNA_object_types.h" @@ -2007,6 +2010,60 @@ static void WM_OT_quit_blender(wmOperatorType *ot) ot->poll= WM_operator_winactive; } +/* *********************** */ +#ifdef WIN32 +static int console= 1; +void WM_toggle_console(bContext *C, short show) +{ + if(show) { + FILE *fp; + char fn[FILE_MAX]; + char tmp[FILE_MAXDIR]; + BLI_where_is_temp(tmp, 1); + BLI_make_file_string("/", fn, tmp, "blenderlog.txt"); + /* open the console */ + AllocConsole(); + + /* redirect stdin */ + fp= freopen(fn, "r", stdin); + SetStdHandle(STD_INPUT_HANDLE, (HANDLE)_get_osfhandle(_fileno(stdin))); + /* redirect stdout */ + fp= freopen(fn, "w", stdout); + SetStdHandle(STD_OUTPUT_HANDLE, (HANDLE)_get_osfhandle(_fileno(stdout))); + /* redirect stderr */ + fp= freopen(fn, "w", stderr); + SetStdHandle(STD_ERROR_HANDLE, (HANDLE)_get_osfhandle(_fileno(stderr))); + + console= 1; + } + else { + FreeConsole(); + console= 0; + } +} + +static int wm_toggle_console_op(bContext *C, wmOperator *op) +{ + if(console) { + WM_toggle_console(C, 0); + } + else { + WM_toggle_console(C, 1); + } + return OPERATOR_FINISHED; +} + +static void WM_OT_toggle_console(wmOperatorType *ot) +{ + ot->name= "Toggle System Console"; + ot->idname= "WM_OT_toggle_console"; + ot->description= "Toggle System Console"; + + ot->exec= wm_toggle_console_op; + ot->poll= WM_operator_winactive; +} +#endif + /* ************ default paint cursors, draw always around cursor *********** */ /* - returns handler to free @@ -3079,6 +3136,9 @@ void wm_operatortype_init(void) WM_operatortype_append(WM_OT_splash); WM_operatortype_append(WM_OT_search_menu); WM_operatortype_append(WM_OT_call_menu); +#ifdef WIN32 + WM_operatortype_append(WM_OT_toggle_console); +#endif #ifdef WITH_COLLADA /* XXX: move these */ -- cgit v1.2.3 From b743454ce1c361e6161da8ae5f840c2befe3a081 Mon Sep 17 00:00:00 2001 From: Nathan Letwory Date: Mon, 18 Oct 2010 22:37:21 +0000 Subject: Add Toggle System Console entry to Help menu on Windows systems. --- release/scripts/ui/space_info.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/release/scripts/ui/space_info.py b/release/scripts/ui/space_info.py index b0e8dbab0b3..d9ddc4a470b 100644 --- a/release/scripts/ui/space_info.py +++ b/release/scripts/ui/space_info.py @@ -347,6 +347,9 @@ class INFO_MT_help(bpy.types.Menu): layout.operator("help.operator_cheat_sheet", icon='TEXT') layout.operator("wm.sysinfo", icon='TEXT') layout.separator() + if bpy.app.build_platform[0:7] == 'Windows': + layout.operator("wm.toggle_console", icon='CONSOLE') + layout.separator() layout.operator("anim.update_data_paths", text="FCurve/Driver 2.54 fix", icon='HELP') layout.separator() layout.operator("wm.splash") -- cgit v1.2.3 From 106867910ea09fa63b04480dc83b20d67bdb4e09 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Tue, 19 Oct 2010 01:21:22 +0000 Subject: use unsigned int for all layers. --- source/blender/blenkernel/depsgraph_private.h | 4 ++-- source/blender/blenkernel/intern/anim.c | 6 ++++-- source/blender/blenkernel/intern/object.c | 2 +- source/blender/editors/render/render_internal.c | 2 +- source/blender/editors/space_view3d/space_view3d.c | 2 +- source/blender/editors/space_view3d/view3d_header.c | 2 +- source/blender/makesdna/DNA_armature_types.h | 2 +- source/blender/makesdna/DNA_view3d_types.h | 3 ++- 8 files changed, 13 insertions(+), 10 deletions(-) diff --git a/source/blender/blenkernel/depsgraph_private.h b/source/blender/blenkernel/depsgraph_private.h index 503ee973be0..0527fe406bc 100644 --- a/source/blender/blenkernel/depsgraph_private.h +++ b/source/blender/blenkernel/depsgraph_private.h @@ -64,8 +64,8 @@ typedef struct DagNode void * ob; void * first_ancestor; int ancestor_count; - int lay; // accumulated layers of its relations + itself - int scelay; // layers due to being in scene + unsigned int lay; // accumulated layers of its relations + itself + unsigned int scelay; // layers due to being in scene int lasttime; // if lasttime != DagForest->time, this node was not evaluated yet for flushing int BFS_dist; // BFS distance int DFS_dist; // DFS distance diff --git a/source/blender/blenkernel/intern/anim.c b/source/blender/blenkernel/intern/anim.c index 7b52d9c586a..a4e791aa6b3 100644 --- a/source/blender/blenkernel/intern/anim.c +++ b/source/blender/blenkernel/intern/anim.c @@ -843,7 +843,8 @@ static void vertex_duplilist(ListBase *lb, ID *id, Scene *scene, Object *par, fl GroupObject * go = NULL; EditMesh *em; float vec[3], no[3], pmat[4][4]; - int lay, totvert, a, oblay; + int totvert, a, oblay; + unsigned int lay; copy_m4_m4(pmat, par->obmat); @@ -1153,8 +1154,9 @@ static void new_particle_duplilist(ListBase *lb, ID *UNUSED(id), Scene *scene, O float ctime, pa_time, scale = 1.0f; float tmat[4][4], mat[4][4], pamat[4][4], vec[3], size=0.0; float (*obmat)[4], (*oldobmat)[4]; - int lay, a, b, counter, hair = 0; + int a, b, counter, hair = 0; int totpart, totchild, totgroup=0, pa_num; + unsigned int lay; if(psys==0) return; diff --git a/source/blender/blenkernel/intern/object.c b/source/blender/blenkernel/intern/object.c index 5237335e8ca..b91a66fd69f 100644 --- a/source/blender/blenkernel/intern/object.c +++ b/source/blender/blenkernel/intern/object.c @@ -1476,7 +1476,7 @@ static void armature_set_id_extern(Object *ob) { bArmature *arm= ob->data; bPoseChannel *pchan; - int lay= arm->layer_protected; + unsigned int lay= arm->layer_protected; for (pchan = ob->pose->chanbase.first; pchan; pchan=pchan->next) { if(!(pchan->bone->layer & lay)) diff --git a/source/blender/editors/render/render_internal.c b/source/blender/editors/render/render_internal.c index 7f34e6fa333..77fa51aa7b1 100644 --- a/source/blender/editors/render/render_internal.c +++ b/source/blender/editors/render/render_internal.c @@ -401,7 +401,7 @@ static int screen_render_exec(bContext *C, wmOperator *op) Image *ima; View3D *v3d= CTX_wm_view3d(C); Main *mainp= CTX_data_main(C); - int lay= (v3d)? v3d->lay: scene->lay; + unsigned int lay= (v3d)? v3d->lay: scene->lay; if(re==NULL) { re= RE_NewRender(scene->id.name); diff --git a/source/blender/editors/space_view3d/space_view3d.c b/source/blender/editors/space_view3d/space_view3d.c index 6261ca52564..c1a07914b77 100644 --- a/source/blender/editors/space_view3d/space_view3d.c +++ b/source/blender/editors/space_view3d/space_view3d.c @@ -915,7 +915,7 @@ static int view3d_context(const bContext *C, const char *member, bContextDataRes View3D *v3d= CTX_wm_view3d(C); Scene *scene= CTX_data_scene(C); Base *base; - int lay = v3d ? v3d->lay:scene->lay; /* fallback to the scene layer, allows duplicate and other oject operators to run outside the 3d view */ + unsigned int lay = v3d ? v3d->lay:scene->lay; /* fallback to the scene layer, allows duplicate and other oject operators to run outside the 3d view */ if(CTX_data_dir(member)) { static const char *dir[] = { diff --git a/source/blender/editors/space_view3d/view3d_header.c b/source/blender/editors/space_view3d/view3d_header.c index 5ca8843b658..746c6acae1c 100644 --- a/source/blender/editors/space_view3d/view3d_header.c +++ b/source/blender/editors/space_view3d/view3d_header.c @@ -511,7 +511,7 @@ void uiTemplateHeader3D(uiLayout *layout, struct bContext *C) } if(obedit==NULL && v3d->localvd==NULL) { - int ob_lay = ob ? ob->lay : 0; + unsigned int ob_lay = ob ? ob->lay : 0; /* Layers */ if (v3d->scenelock) diff --git a/source/blender/makesdna/DNA_armature_types.h b/source/blender/makesdna/DNA_armature_types.h index f7533ff9bde..b244d8277a7 100644 --- a/source/blender/makesdna/DNA_armature_types.h +++ b/source/blender/makesdna/DNA_armature_types.h @@ -91,7 +91,7 @@ typedef struct bArmature { int pad; - int layer, layer_protected; /* for buttons to work, both variables in this order together */ + unsigned int layer, layer_protected; /* for buttons to work, both variables in this order together */ // XXX depreceated... old animaton system (armature only viz) --- short ghostep, ghostsize; /* number of frames to ghosts to show, and step between them */ diff --git a/source/blender/makesdna/DNA_view3d_types.h b/source/blender/makesdna/DNA_view3d_types.h index 8c23ef94faf..9de5ad198a6 100644 --- a/source/blender/makesdna/DNA_view3d_types.h +++ b/source/blender/makesdna/DNA_view3d_types.h @@ -153,7 +153,8 @@ typedef struct View3D { char ob_centre_bone[32]; /* optional string for armature bone to define center */ - int lay, layact; + unsigned int lay; + int layact; /** * The drawing mode for the 3d display. Set to OB_WIRE, OB_SOLID, -- cgit v1.2.3 From de1f68a5e480024fe5e04f073952a73b92a31179 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Tue, 19 Oct 2010 01:24:09 +0000 Subject: patch by Elia Sarti, adding selectable_objects and selectable_bases to the screen context, allowing some operators to run from the console which previously only worked in the 3D view. --- source/blender/editors/screen/screen_context.c | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/source/blender/editors/screen/screen_context.c b/source/blender/editors/screen/screen_context.c index b619398d985..08cc8ebaa2f 100644 --- a/source/blender/editors/screen/screen_context.c +++ b/source/blender/editors/screen/screen_context.c @@ -48,6 +48,7 @@ int ed_screen_context(const bContext *C, const char *member, bContextDataResult bScreen *sc= CTX_wm_screen(C); Scene *scene= sc->scene; Base *base; + unsigned int lay = scene->lay; #if 0 /* Using the context breaks adding objects in the UI. Need to find out why - campbell */ Object *obact= CTX_data_active_object(C); @@ -61,7 +62,8 @@ int ed_screen_context(const bContext *C, const char *member, bContextDataResult if(CTX_data_dir(member)) { static const char *dir[] = { - "scene", "visible_objects", "visible_bases", "selected_objects", "selected_bases", + "scene", "visible_objects", "visible_bases", "selectable_objects", "selectable_bases", + "selected_objects", "selected_bases", "selected_editable_objects", "selected_editable_bases", "visible_bones", "editable_bones", "selected_bones", "selected_editable_bones", "visible_pose_bones", "selected_pose_bones", "active_bone", "active_pose_bone", @@ -92,6 +94,22 @@ int ed_screen_context(const bContext *C, const char *member, bContextDataResult CTX_data_type_set(result, CTX_DATA_TYPE_COLLECTION); return 1; } + else if(CTX_data_equals(member, "selectable_objects") || CTX_data_equals(member, "selectable_bases")) { + int selectable_objects= CTX_data_equals(member, "selectable_objects"); + + for(base=scene->base.first; base; base=base->next) { + if(base->lay & lay) { + if((base->object->restrictflag & OB_RESTRICT_VIEW)==0 && (base->object->restrictflag & OB_RESTRICT_SELECT)==0) { + if(selectable_objects) + CTX_data_id_list_add(result, &base->object->id); + else + CTX_data_list_add(result, &scene->id, &RNA_ObjectBase, base); + } + } + } + CTX_data_type_set(result, CTX_DATA_TYPE_COLLECTION); + return 1; + } else if(CTX_data_equals(member, "selected_objects") || CTX_data_equals(member, "selected_bases")) { int selected_objects= CTX_data_equals(member, "selected_objects"); -- cgit v1.2.3 From e01c00d19437c9aef1fc27568d7becbabdef9ba2 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Tue, 19 Oct 2010 01:48:03 +0000 Subject: bugfix [#24289] bpy.ops.object.select_name() is broken --- source/blender/editors/object/object_select.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/source/blender/editors/object/object_select.c b/source/blender/editors/object/object_select.c index a3c65851d3a..29c3ee5c95c 100644 --- a/source/blender/editors/object/object_select.c +++ b/source/blender/editors/object/object_select.c @@ -879,8 +879,11 @@ static int object_select_name_exec(bContext *C, wmOperator *op) short changed = 0; if(!extend) { - CTX_DATA_BEGIN(C, Base*, base, visible_bases) { - ED_base_object_select(base, BA_DESELECT); + CTX_DATA_BEGIN(C, Base*, base, selectable_bases) { + if((base->flag & SELECT) == 0) { + ED_base_object_select(base, BA_DESELECT); + changed= 1; + } } CTX_DATA_END; } -- cgit v1.2.3 From 8b0179a965180c325910e1c4127bdc2c53dfbb40 Mon Sep 17 00:00:00 2001 From: Nicholas Bishop Date: Tue, 19 Oct 2010 01:57:15 +0000 Subject: == Sculpt == Fixed bug #24111, "Mirror clipping not working while sculpting a mirrored mesh" * Mirror modifiers can handle multiple-axis mirroring, updated sculpt to work with that * Marked the "axis" field of MirrorModifierData deprecated, since it looks like bitflags are supposed to be used now --- source/blender/editors/sculpt_paint/sculpt.c | 46 +++++++++++++++++++--------- source/blender/makesdna/DNA_modifier_types.h | 3 +- 2 files changed, 33 insertions(+), 16 deletions(-) diff --git a/source/blender/editors/sculpt_paint/sculpt.c b/source/blender/editors/sculpt_paint/sculpt.c index 505e37d95f6..fccee048525 100644 --- a/source/blender/editors/sculpt_paint/sculpt.c +++ b/source/blender/editors/sculpt_paint/sculpt.c @@ -2815,6 +2815,36 @@ static void sculpt_cache_free(StrokeCache *cache) MEM_freeN(cache); } +/* Initialize mirror modifier clipping */ +static void sculpt_init_mirror_clipping(Object *ob, SculptSession *ss) +{ + ModifierData *md; + int i; + + for(md= ob->modifiers.first; md; md= md->next) { + if(md->type==eModifierType_Mirror && + (md->mode & eModifierMode_Realtime)) { + MirrorModifierData *mmd = (MirrorModifierData*)md; + + if(mmd->flag & MOD_MIR_CLIPPING) { + /* check each axis for mirroring */ + for(i = 0; i < 3; ++i) { + if(mmd->flag & (MOD_MIR_AXIS_X << i)) { + /* enable sculpt clipping */ + ss->cache->flag |= CLIP_X << i; + + /* update the clip tolerance */ + if(mmd->tolerance > + ss->cache->clip_tolerance[i]) + ss->cache->clip_tolerance[i] = + mmd->tolerance; + } + } + } + } + } +} + /* Initialize the stroke cache invariants from operator properties */ static void sculpt_update_cache_invariants(bContext* C, Sculpt *sd, SculptSession *ss, wmOperator *op, wmEvent *event) { @@ -2822,7 +2852,6 @@ static void sculpt_update_cache_invariants(bContext* C, Sculpt *sd, SculptSessio Brush *brush = paint_brush(&sd->paint); ViewContext *vc = paint_stroke_view_context(op->customdata); Object *ob= CTX_data_active_object(C); - ModifierData *md; int i; int mode; @@ -2835,22 +2864,9 @@ static void sculpt_update_cache_invariants(bContext* C, Sculpt *sd, SculptSessio ss->cache->plane_trim_squared = brush->plane_trim * brush->plane_trim; - /* Initialize mirror modifier clipping */ - ss->cache->flag = 0; - for(md= ob->modifiers.first; md; md= md->next) { - if(md->type==eModifierType_Mirror && (md->mode & eModifierMode_Realtime)) { - const MirrorModifierData *mmd = (MirrorModifierData*) md; - - /* Mark each axis that needs clipping along with its tolerance */ - if(mmd->flag & MOD_MIR_CLIPPING) { - ss->cache->flag |= CLIP_X << mmd->axis; - if(mmd->tolerance > ss->cache->clip_tolerance[mmd->axis]) - ss->cache->clip_tolerance[mmd->axis] = mmd->tolerance; - } - } - } + sculpt_init_mirror_clipping(ob, ss); /* Initial mouse location */ if (event) { diff --git a/source/blender/makesdna/DNA_modifier_types.h b/source/blender/makesdna/DNA_modifier_types.h index 27f9c9cd5f3..0708698c40c 100644 --- a/source/blender/makesdna/DNA_modifier_types.h +++ b/source/blender/makesdna/DNA_modifier_types.h @@ -220,7 +220,8 @@ typedef struct ArrayModifierData { typedef struct MirrorModifierData { ModifierData modifier; - short axis, flag; + short axis; /* deprecated, use flag instead */ + short flag; float tolerance; struct Object *mirror_ob; } MirrorModifierData; -- cgit v1.2.3 From a7734cf3c0cdc09ebc41210fef95cbb42ee92394 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Tue, 19 Oct 2010 02:41:09 +0000 Subject: bugfix [#24314] Motion path (ghosting/onioning) numbers are displayed with offset --- source/blender/editors/space_view3d/drawanimviz.c | 15 +++++++--- source/blender/editors/space_view3d/drawarmature.c | 4 +-- source/blender/editors/space_view3d/drawobject.c | 34 +++++++++++----------- .../blender/editors/space_view3d/view3d_intern.h | 2 +- 4 files changed, 31 insertions(+), 24 deletions(-) diff --git a/source/blender/editors/space_view3d/drawanimviz.c b/source/blender/editors/space_view3d/drawanimviz.c index 4cce166b36b..52bb90aa8f0 100644 --- a/source/blender/editors/space_view3d/drawanimviz.c +++ b/source/blender/editors/space_view3d/drawanimviz.c @@ -78,7 +78,6 @@ void draw_motion_paths_init(View3D *v3d, ARegion *ar) * - assumes that the viewport has already been initialised properly * i.e. draw_motion_paths_init() has been called */ -// FIXME: the text is still drawn in the wrong space - it includes the current transforms of the object still... void draw_motion_path_instance(Scene *scene, Object *ob, bPoseChannel *pchan, bAnimVizSettings *avs, bMotionPath *mpath) { @@ -201,15 +200,20 @@ void draw_motion_path_instance(Scene *scene, UI_ThemeColor(TH_TEXT_HI); } + // XXX, this isnt up to date but probably should be kept so. + invert_m4_m4(ob->imat, ob->obmat); + /* Draw frame numbers at each framestep value */ if (avs->path_viewflag & MOTIONPATH_VIEW_FNUMS) { for (i=0, mpv=mpv_start; i < len; i+=stepsize, mpv+=stepsize) { char str[32]; + float co[3]; /* only draw framenum if several consecutive highlighted points don't occur on same point */ if (i == 0) { sprintf(str, "%d", (i+sfra)); - view3d_cached_text_draw_add(mpv->co[0], mpv->co[1], mpv->co[2], str, 0, 0); + mul_v3_m4v3(co, ob->imat, mpv->co); + view3d_cached_text_draw_add(co, str, 0, V3D_CACHE_TEXT_WORLDSPACE); } else if ((i > stepsize) && (i < len-stepsize)) { bMotionPathVert *mpvP = (mpv - stepsize); @@ -217,7 +221,8 @@ void draw_motion_path_instance(Scene *scene, if ((equals_v3v3(mpv->co, mpvP->co)==0) || (equals_v3v3(mpv->co, mpvN->co)==0)) { sprintf(str, "%d", (sfra+i)); - view3d_cached_text_draw_add(mpv->co[0], mpv->co[1], mpv->co[2], str, 0, 0); + mul_v3_m4v3(co, ob->imat, mpv->co); + view3d_cached_text_draw_add(co, str, 0, V3D_CACHE_TEXT_WORLDSPACE); } } } @@ -266,6 +271,7 @@ void draw_motion_path_instance(Scene *scene, /* Draw frame numbers of keyframes */ if (avs->path_viewflag & MOTIONPATH_VIEW_KFNOS) { + float co[3]; for (i=0, mpv=mpv_start; i < len; i++, mpv++) { float mframe= (float)(sfra + i); @@ -273,7 +279,8 @@ void draw_motion_path_instance(Scene *scene, char str[32]; sprintf(str, "%d", (sfra+i)); - view3d_cached_text_draw_add(mpv->co[0], mpv->co[1], mpv->co[2], str, 0, 0); + mul_v3_m4v3(co, ob->imat, mpv->co); + view3d_cached_text_draw_add(co, str, 0, V3D_CACHE_TEXT_WORLDSPACE); } } } diff --git a/source/blender/editors/space_view3d/drawarmature.c b/source/blender/editors/space_view3d/drawarmature.c index 6cbfc2cffe4..33776abf4a0 100644 --- a/source/blender/editors/space_view3d/drawarmature.c +++ b/source/blender/editors/space_view3d/drawarmature.c @@ -1892,7 +1892,7 @@ static void draw_pose_bones(Scene *scene, View3D *v3d, ARegion *ar, Base *base, /* Draw names of bone */ if (arm->flag & ARM_DRAWNAMES) { mid_v3_v3v3(vec, pchan->pose_head, pchan->pose_tail); - view3d_cached_text_draw_add(vec[0], vec[1], vec[2], pchan->name, 10, 0); + view3d_cached_text_draw_add(vec, pchan->name, 10, 0); } /* Draw additional axes on the bone tail */ @@ -2086,7 +2086,7 @@ static void draw_ebones(View3D *v3d, ARegion *ar, Object *ob, int dt) if (arm->flag & ARM_DRAWNAMES) { mid_v3_v3v3(vec, eBone->head, eBone->tail); glRasterPos3fv(vec); - view3d_cached_text_draw_add(vec[0], vec[1], vec[2], eBone->name, 10, 0); + view3d_cached_text_draw_add(vec, eBone->name, 10, 0); } /* Draw additional axes */ if (arm->flag & ARM_DRAWAXES) { diff --git a/source/blender/editors/space_view3d/drawobject.c b/source/blender/editors/space_view3d/drawobject.c index e7a69642e9f..5fabe6f2496 100644 --- a/source/blender/editors/space_view3d/drawobject.c +++ b/source/blender/editors/space_view3d/drawobject.c @@ -571,16 +571,14 @@ void view3d_cached_text_draw_begin() CachedTextLevel++; } -void view3d_cached_text_draw_add(float x, float y, float z, char *str, short xoffs, short flag) +void view3d_cached_text_draw_add(const float co[3], const char *str, short xoffs, short flag) { ListBase *strings= &CachedText[CachedTextLevel-1]; ViewCachedString *vos= MEM_callocN(sizeof(ViewCachedString), "ViewCachedString"); BLI_addtail(strings, vos); BLI_strncpy(vos->str, str, 128); - vos->vec[0]= x; - vos->vec[1]= y; - vos->vec[2]= z; + copy_v3_v3(vos->vec, co); glGetFloatv(GL_CURRENT_COLOR, vos->col); vos->xoffs= xoffs; vos->flag= flag; @@ -2115,7 +2113,7 @@ static void draw_em_measure_stats(View3D *v3d, RegionView3D *rv3d, Object *ob, E else sprintf(val, conv_float, len_v3v3(v1, v2)); - view3d_cached_text_draw_add(vmid[0], vmid[1], vmid[2], val, 0, 0); + view3d_cached_text_draw_add(vmid, val, 0, 0); } } } @@ -2154,7 +2152,7 @@ static void draw_em_measure_stats(View3D *v3d, RegionView3D *rv3d, Object *ob, E else sprintf(val, conv_float, area); - view3d_cached_text_draw_add(efa->cent[0], efa->cent[1], efa->cent[2], val, 0, 0); + view3d_cached_text_draw_add(efa->cent, val, 0, 0); } } } @@ -2196,13 +2194,13 @@ static void draw_em_measure_stats(View3D *v3d, RegionView3D *rv3d, Object *ob, E /* Vec 1 */ sprintf(val,"%.3f", RAD2DEG(angle_v3v3v3(v4, v1, v2))); interp_v3_v3v3(fvec, efa->cent, efa->v1->co, 0.8f); - view3d_cached_text_draw_add(fvec[0], fvec[1], fvec[2], val, 0, 0); + view3d_cached_text_draw_add(fvec, val, 0, 0); } if( (e1->f & e2->f & SELECT) || (do_moving && (efa->v2->f & SELECT)) ) { /* Vec 2 */ sprintf(val,"%.3f", RAD2DEG(angle_v3v3v3(v1, v2, v3))); interp_v3_v3v3(fvec, efa->cent, efa->v2->co, 0.8f); - view3d_cached_text_draw_add(fvec[0], fvec[1], fvec[2], val, 0, 0); + view3d_cached_text_draw_add(fvec, val, 0, 0); } if( (e2->f & e3->f & SELECT) || (do_moving && (efa->v3->f & SELECT)) ) { /* Vec 3 */ @@ -2211,14 +2209,14 @@ static void draw_em_measure_stats(View3D *v3d, RegionView3D *rv3d, Object *ob, E else sprintf(val,"%.3f", RAD2DEG(angle_v3v3v3(v2, v3, v1))); interp_v3_v3v3(fvec, efa->cent, efa->v3->co, 0.8f); - view3d_cached_text_draw_add(fvec[0], fvec[1], fvec[2], val, 0, 0); + view3d_cached_text_draw_add(fvec, val, 0, 0); } /* Vec 4 */ if(efa->v4) { if( (e3->f & e4->f & SELECT) || (do_moving && (efa->v4->f & SELECT)) ) { sprintf(val,"%.3f", RAD2DEG(angle_v3v3v3(v3, v4, v1))); interp_v3_v3v3(fvec, efa->cent, efa->v4->co, 0.8f); - view3d_cached_text_draw_add(fvec[0], fvec[1], fvec[2], val, 0, 0); + view3d_cached_text_draw_add(fvec, val, 0, 0); } } } @@ -3833,7 +3831,7 @@ static void draw_new_particle_system(Scene *scene, View3D *v3d, RegionView3D *rv /* in path drawing state.co is the end point */ /* use worldspace beause object matrix is already applied */ mul_v3_m4v3(vec_txt, ob->imat, state.co); - view3d_cached_text_draw_add(vec_txt[0], vec_txt[1], vec_txt[2], val, 10, V3D_CACHE_TEXT_WORLDSPACE); + view3d_cached_text_draw_add(vec_txt, val, 10, V3D_CACHE_TEXT_WORLDSPACE); } } } @@ -3927,7 +3925,7 @@ static void draw_new_particle_system(Scene *scene, View3D *v3d, RegionView3D *rv sprintf(val, "%i", a); /* use worldspace beause object matrix is already applied */ mul_v3_m4v3(vec_txt, ob->imat, cache[a]->co); - view3d_cached_text_draw_add(vec_txt[0], vec_txt[1], vec_txt[2], val, 10, V3D_CACHE_TEXT_WORLDSPACE); + view3d_cached_text_draw_add(vec_txt, val, 10, V3D_CACHE_TEXT_WORLDSPACE); } } } @@ -5510,11 +5508,11 @@ void drawRBpivot(bRigidBodyJointConstraint *data) glVertex3fv(v); glEnd(); if (axis==0) - view3d_cached_text_draw_add(v[0], v[1], v[2], "px", 0, 0); + view3d_cached_text_draw_add(v, "px", 0, 0); else if (axis==1) - view3d_cached_text_draw_add(v[0], v[1], v[2], "py", 0, 0); + view3d_cached_text_draw_add(v, "py", 0, 0); else - view3d_cached_text_draw_add(v[0], v[1], v[2], "pz", 0, 0); + view3d_cached_text_draw_add(v, "pz", 0, 0); } glLineWidth (1.0f); setlinestyle(0); @@ -5982,7 +5980,7 @@ void draw_object(Scene *scene, ARegion *ar, View3D *v3d, Base *base, int flag) draw_new_particle_system(scene, v3d, rv3d, base, psys, dt); } - + invert_m4_m4(ob->imat, ob->obmat); view3d_cached_text_draw_end(v3d, ar, 0, NULL); glMultMatrixf(ob->obmat); @@ -6140,7 +6138,8 @@ void draw_object(Scene *scene, ARegion *ar, View3D *v3d, Base *base, int flag) /* patch for several 3d cards (IBM mostly) that crash on glSelect with text drawing */ /* but, we also dont draw names for sets or duplicators */ if(flag == 0) { - view3d_cached_text_draw_add(0.0f, 0.0f, 0.0f, ob->id.name+2, 10, 0); + float zero[3]= {0,0,0}; + view3d_cached_text_draw_add(zero, ob->id.name+2, 10, 0); } } /*if(dtx & OB_DRAWIMAGE) drawDispListwire(&ob->disp);*/ @@ -6162,6 +6161,7 @@ void draw_object(Scene *scene, ARegion *ar, View3D *v3d, Base *base, int flag) } /* return warning, this is cached text draw */ + invert_m4_m4(ob->imat, ob->obmat); view3d_cached_text_draw_end(v3d, ar, 1, NULL); glLoadMatrixf(rv3d->viewmat); diff --git a/source/blender/editors/space_view3d/view3d_intern.h b/source/blender/editors/space_view3d/view3d_intern.h index 9d1f5a77a3f..d6d8fddd442 100644 --- a/source/blender/editors/space_view3d/view3d_intern.h +++ b/source/blender/editors/space_view3d/view3d_intern.h @@ -109,7 +109,7 @@ void draw_object_backbufsel(Scene *scene, View3D *v3d, RegionView3D *rv3d, struc void drawaxes(float size, char drawtype); void view3d_cached_text_draw_begin(void); -void view3d_cached_text_draw_add(float x, float y, float z, char *str, short xoffs, short flag); +void view3d_cached_text_draw_add(const float co[3], const char *str, short xoffs, short flag); void view3d_cached_text_draw_end(View3D *v3d, ARegion *ar, int depth_write, float mat[][4]); #define V3D_CACHE_TEXT_ZBUF 1 #define V3D_CACHE_TEXT_WORLDSPACE 2 -- cgit v1.2.3 From 3498e22468d9c1c326c9acaf820961c8c6a41c68 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Tue, 19 Oct 2010 02:50:00 +0000 Subject: Disable LCMS by default for scons. --- build_files/scons/config/win32-vc-config.py | 2 +- build_files/scons/config/win64-vc-config.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/build_files/scons/config/win32-vc-config.py b/build_files/scons/config/win32-vc-config.py index c8c04e74068..fc912c72732 100644 --- a/build_files/scons/config/win32-vc-config.py +++ b/build_files/scons/config/win32-vc-config.py @@ -149,7 +149,7 @@ BF_OPENCOLLADA_INC = '${BF_OPENCOLLADA}/include' BF_OPENCOLLADA_LIB = 'OpenCOLLADAStreamWriter OpenCOLLADASaxFrameworkLoader OpenCOLLADAFramework OpenCOLLADABaseUtils GeneratedSaxParser MathMLSolver xml2 pcre buffer ftoa' BF_OPENCOLLADA_LIBPATH = '${BF_OPENCOLLADA}/lib' -WITH_BF_LCMS = True +WITH_BF_LCMS = False BF_LCMS = LIBDIR + '/lcms' BF_LCMS_INC = '${BF_LCMS}/include' BF_LCMS_LIB = 'lcms' diff --git a/build_files/scons/config/win64-vc-config.py b/build_files/scons/config/win64-vc-config.py index 78d90187abf..da5600e5615 100644 --- a/build_files/scons/config/win64-vc-config.py +++ b/build_files/scons/config/win64-vc-config.py @@ -145,7 +145,7 @@ BF_OPENCOLLADA_INC = '${BF_OPENCOLLADA}/include' BF_OPENCOLLADA_LIB = 'OpenCOLLADAStreamWriter OpenCOLLADASaxFrameworkLoader OpenCOLLADAFramework OpenCOLLADABaseUtils GeneratedSaxParser MathMLSolver xml2 pcre buffer ftoa' BF_OPENCOLLADA_LIBPATH = '${BF_OPENCOLLADA}/lib' -WITH_BF_LCMS = True +WITH_BF_LCMS = False BF_LCMS = LIBDIR + '/lcms' BF_LCMS_INC = '${BF_LCMS}/include' BF_LCMS_LIB = 'lcms' -- cgit v1.2.3 From 13d684f7bb9494a7dbcf39f2d26e60b1ed2f1b76 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Tue, 19 Oct 2010 04:25:16 +0000 Subject: fix for implicit declaration, not sure why this happens but OpenSuse 11.1 wouldn't build. --- source/blender/blenlib/intern/math_base.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/source/blender/blenlib/intern/math_base.c b/source/blender/blenlib/intern/math_base.c index 686b35a878e..df8749c9ddd 100644 --- a/source/blender/blenlib/intern/math_base.c +++ b/source/blender/blenlib/intern/math_base.c @@ -52,7 +52,8 @@ double round(double x) y += 1.0; return copysign(y, x); } - +#else /* OpenSuse 11.1 seems to need this. */ +double round(double x); #endif -- cgit v1.2.3 From 42d4e93733f563704456fed879b5f29b042d099f Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Tue, 19 Oct 2010 04:29:05 +0000 Subject: Using unsigned int from own commit r32425 broke tiling image textures in imagetexture.c. Most formats use unsigned int, but practically its unlikely to be a problem to use int. --- source/blender/imbuf/IMB_imbuf_types.h | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/source/blender/imbuf/IMB_imbuf_types.h b/source/blender/imbuf/IMB_imbuf_types.h index 5fbdcf95f13..a12976fa813 100644 --- a/source/blender/imbuf/IMB_imbuf_types.h +++ b/source/blender/imbuf/IMB_imbuf_types.h @@ -71,7 +71,11 @@ typedef struct ImBuf { struct ImBuf *next, *prev; /**< allow lists of ImBufs, for caches or flipbooks */ /* dimensions */ - unsigned int x, y; /* width and Height of our image buffer */ + int x, y; /* width and Height of our image buffer. + * Should be 'unsigned int' since most formats use this. + * but this is problematic with texture math in imagetexture.c + * avoid problems and use int. - campbell */ + unsigned char depth; /* Active amount of bits/bitplanes */ int channels; /* amount of channels in rect_float (0 = 4 channel default) */ -- cgit v1.2.3 From 2a89fb887e6e9cc50a30ec67fb9cb3e8b06a59cd Mon Sep 17 00:00:00 2001 From: Nathan Letwory Date: Tue, 19 Oct 2010 05:00:36 +0000 Subject: * Enable compile and link flags to build info also on Windows and in SCons. * Added build_system SCons or CMake * Write the new build info also to system-info.txt --- build_files/scons/tools/Blender.py | 13 ++++++++++++- release/scripts/modules/sys_info.py | 6 +++++- source/blender/python/intern/bpy_app.c | 4 ++++ source/creator/CMakeLists.txt | 10 +++++++--- source/creator/buildinfo.c | 2 ++ source/creator/creator.c | 3 +++ 6 files changed, 33 insertions(+), 5 deletions(-) diff --git a/build_files/scons/tools/Blender.py b/build_files/scons/tools/Blender.py index 1f503a5ea2d..cab245a4518 100644 --- a/build_files/scons/tools/Blender.py +++ b/build_files/scons/tools/Blender.py @@ -295,8 +295,14 @@ def buildinfo(lenv, build_type): build_rev = '-UNKNOWN-' if lenv['BF_DEBUG']: build_type = "Debug" + build_cflags = ' '.join(lenv['CFLAGS'] + lenv['CCFLAGS'] + lenv['BF_DEBUG_CCFLAGS'] + lenv['CPPFLAGS']) + build_cxxflags = ' '.join(lenv['CCFLAGS'] + lenv['CXXFLAGS'] + lenv['CPPFLAGS']) else: build_type = "Release" + build_cflags = ' '.join(lenv['CFLAGS'] + lenv['CCFLAGS'] + lenv['REL_CFLAGS'] + lenv['REL_CCFLAGS'] + lenv['CPPFLAGS']) + build_cxxflags = ' '.join(lenv['CCFLAGS'] + lenv['CXXFLAGS'] + lenv['REL_CXXFLAGS'] + lenv['REL_CCFLAGS'] + lenv['CPPFLAGS']) + + build_linkflags = ' '.join(lenv['PLATFORM_LINKFLAGS']) obj = [] if lenv['BF_BUILDINFO']: @@ -305,7 +311,12 @@ def buildinfo(lenv, build_type): 'BUILD_TYPE="%s"'%(build_type), 'BUILD_REV="%s"'%(build_rev), 'NAN_BUILDINFO', - 'BUILD_PLATFORM="%s:%s"'%(platform.system(), platform.architecture()[0])]) + 'BUILD_PLATFORM="%s:%s"'%(platform.system(), platform.architecture()[0]), + 'BUILD_CFLAGS=\\"%s\\"'%(build_cflags), + 'BUILD_CXXFLAGS=\\"%s\\"'%(build_cxxflags), + 'BUILD_LINKFLAGS=\\"%s\\"'%(build_linkflags), + 'BUILD_SYSTEM="SCons"' + ]) lenv.Append (CPPPATH = [root_build_dir+'source/blender/blenkernel']) diff --git a/release/scripts/modules/sys_info.py b/release/scripts/modules/sys_info.py index b6f429141bf..58fb1aba377 100644 --- a/release/scripts/modules/sys_info.py +++ b/release/scripts/modules/sys_info.py @@ -68,7 +68,11 @@ def write_sysinfo(op): output.write('version {}, revision {}. {}\n'.format(bpy.app.version_string, bpy.app.build_revision, bpy.app.build_type)) output.write('build date: {}, {}\n'.format(bpy.app.build_date, bpy.app.build_time)) output.write('platform: {}\n'.format(bpy.app.build_platform)) - output.write('binary path: {}\n\n'.format(bpy.app.binary_path)) + output.write('binary path: {}\n'.format(bpy.app.binary_path)) + output.write('build cflags: {}\n'.format(bpy.app.build_cflags)) + output.write('build cxxflags: {}\n'.format(bpy.app.build_cxxflags)) + output.write('build linkflags: {}\n'.format(bpy.app.build_linkflags)) + output.write('build system: {}\n'.format(bpy.app.build_system)) # python info output.write('\nPython:\n') diff --git a/source/blender/python/intern/bpy_app.c b/source/blender/python/intern/bpy_app.c index 39494678a12..b7a277c76b0 100644 --- a/source/blender/python/intern/bpy_app.c +++ b/source/blender/python/intern/bpy_app.c @@ -42,6 +42,7 @@ extern char build_type[]; extern char build_cflags[]; extern char build_cxxflags[]; extern char build_linkflags[]; +extern char build_system[]; #endif static PyTypeObject BlenderAppType; @@ -61,6 +62,7 @@ static PyStructSequence_Field app_info_fields[] = { {"build_cflags", ""}, {"build_cxxflags", ""}, {"build_linkflags", ""}, + {"build_system", ""}, {0} }; @@ -105,6 +107,7 @@ static PyObject *make_app_info(void) SetStrItem(build_cflags); SetStrItem(build_cxxflags); SetStrItem(build_linkflags); + SetStrItem(build_system); #else SetStrItem("Unknown"); SetStrItem("Unknown"); @@ -114,6 +117,7 @@ static PyObject *make_app_info(void) SetStrItem("Unknown"); SetStrItem("Unknown"); SetStrItem("Unknown"); + SetStrItem("Unknown"); #endif #undef SetIntItem diff --git a/source/creator/CMakeLists.txt b/source/creator/CMakeLists.txt index 65099761fad..27640cbc185 100644 --- a/source/creator/CMakeLists.txt +++ b/source/creator/CMakeLists.txt @@ -95,15 +95,19 @@ IF(WIN32) ENDIF(WIN32) IF(WITH_BUILDINFO) + STRING(REPLACE " " "\ " BUILDINFO_CFLAGS ${CMAKE_C_FLAGS}) + STRING(REPLACE " " "\ " BUILDINFO_CXXFLAGS ${CMAKE_CXX_FLAGS}) + STRING(REPLACE " " "\ " BUILDINFO_LINKFLAGS ${PLATFORM_LINKFLAGS}) ADD_DEFINITIONS( -DBUILD_DATE="${BUILD_DATE}" -DBUILD_TIME="${BUILD_TIME}" -DBUILD_REV="${BUILD_REV}" -DBUILD_PLATFORM="${CMAKE_SYSTEM_NAME}" -DBUILD_TYPE="${CMAKE_BUILD_TYPE}" - -DBUILD_CFLAGS="${CMAKE_C_FLAGS}" - -DBUILD_CXXFLAGS="${CMAKE_CXX_FLAGS}" - -DBUILD_LINKFLAGS="${PLATFORM_LINKFLAGS}" + -DBUILD_CFLAGS="${BUILDINFO_CFLAGS}" + -DBUILD_CXXFLAGS="${BUILDINFO_CXXFLAGS}" + -DBUILD_LINKFLAGS="${BUILDINFO_LINKFLAGS}" + -DBUILD_SYSTEM="CMake" ) LIST(APPEND EXESRC buildinfo.c) diff --git a/source/creator/buildinfo.c b/source/creator/buildinfo.c index cf6f5a11c45..2203a97aa91 100644 --- a/source/creator/buildinfo.c +++ b/source/creator/buildinfo.c @@ -40,10 +40,12 @@ char build_type[]= STRINGIFY(BUILD_TYPE); char build_cflags[]= STRINGIFY(BUILD_CFLAGS); char build_cxxflags[]= STRINGIFY(BUILD_CXXFLAGS); char build_linkflags[]= STRINGIFY(BUILD_LINKFLAGS); +char build_system[]= STRINGIFY(BUILD_SYSTEM); #else char build_cflags[]= "unmaintained buildsystem alert!"; char build_cxxflags[]= "unmaintained buildsystem alert!"; char build_linkflags[]= "unmaintained buildsystem alert!"; +char build_system[]= "unmaintained buildsystem alert!"; #endif #endif // BUILD_DATE diff --git a/source/creator/creator.c b/source/creator/creator.c index 117efe6bba6..ed2f671a161 100644 --- a/source/creator/creator.c +++ b/source/creator/creator.c @@ -121,6 +121,7 @@ extern char build_type[]; extern char build_cflags[]; extern char build_cxxflags[]; extern char build_linkflags[]; +extern char build_system[]; #endif /* Local Function prototypes */ @@ -190,6 +191,7 @@ static int print_version(int UNUSED(argc), char **UNUSED(argv), void *UNUSED(dat printf ("\tbuild c flags: %s\n", build_cflags); printf ("\tbuild c++ flags: %s\n", build_cxxflags); printf ("\tbuild link flags: %s\n", build_linkflags); + printf ("\tbuild system: %s\n", build_system); #endif exit(0); @@ -1054,6 +1056,7 @@ int main(int argc, char **argv) strip_quotes(build_cflags); strip_quotes(build_cxxflags); strip_quotes(build_linkflags); + strip_quotes(build_system); #endif BLI_threadapi_init(); -- cgit v1.2.3 From 62aacd1aa784834ff7688d25142b88506febb27e Mon Sep 17 00:00:00 2001 From: Nathan Letwory Date: Tue, 19 Oct 2010 05:21:28 +0000 Subject: Set defaults for compile and link flags to lists. --- build_files/scons/config/aix4-config.py | 2 +- build_files/scons/config/irix6-config.py | 6 ++--- build_files/scons/tools/btools.py | 44 ++++++++++++++++---------------- 3 files changed, 26 insertions(+), 26 deletions(-) diff --git a/build_files/scons/config/aix4-config.py b/build_files/scons/config/aix4-config.py index a769f53b35e..2e9a1dc0bf3 100644 --- a/build_files/scons/config/aix4-config.py +++ b/build_files/scons/config/aix4-config.py @@ -190,7 +190,7 @@ BF_PROFILE_FLAGS = ['-pg','-g'] BF_PROFILE = 'false' BF_DEBUG = 'false' -BF_DEBUG_FLAGS = '-g' +BF_DEBUG_CCFLAGS = ['-g'] BF_BUILDDIR = '../build/aix4' BF_INSTALLDIR='../install/aix4' diff --git a/build_files/scons/config/irix6-config.py b/build_files/scons/config/irix6-config.py index 7c319f7b520..f5680aa29a6 100644 --- a/build_files/scons/config/irix6-config.py +++ b/build_files/scons/config/irix6-config.py @@ -171,9 +171,9 @@ REL_CCFLAGS = ['-O2'] ##ARFLAGS = ruv ##ARFLAGSQUIET = ru ## -C_WARN = '-no_prelink -ptused' +C_WARN = ['-no_prelink', '-ptused'] -CC_WARN = '-no_prelink -ptused' +CC_WARN = ['-no_prelink', '-ptused'] ##FIX_STUBS_WARNINGS = -Wno-unused @@ -185,7 +185,7 @@ BF_PROFILE_FLAGS = ['-pg','-g'] BF_PROFILE = 'false' BF_DEBUG = 'false' -BF_DEBUG_FLAGS = '-g' +BF_DEBUG_CCFLAGS = ['-g'] BF_BUILDDIR = '../build/irix6' BF_INSTALLDIR='../install/irix6' diff --git a/build_files/scons/tools/btools.py b/build_files/scons/tools/btools.py index 737ce40d702..bc0beb422f0 100644 --- a/build_files/scons/tools/btools.py +++ b/build_files/scons/tools/btools.py @@ -387,33 +387,33 @@ def read_opts(env, cfg, args): (BoolVariable('WITH_BF_PLAYER', 'Build blenderplayer if true', False)), (BoolVariable('WITH_BF_NOBLENDER', 'Do not build blender if true', False)), - ('CFLAGS', 'C only flags', ''), - ('CCFLAGS', 'Generic C and C++ flags', ''), - ('CXXFLAGS', 'C++ only flags', ''), - ('BGE_CXXFLAGS', 'C++ only flags for BGE', ''), - ('CPPFLAGS', 'Defines', ''), - ('REL_CFLAGS', 'C only release flags', ''), - ('REL_CCFLAGS', 'Generic C and C++ release flags', ''), - ('REL_CXXFLAGS', 'C++ only release flags', ''), - - ('C_WARN', 'C warning flags', ''), - ('CC_WARN', 'Generic C and C++ warning flags', ''), - ('CXX_WARN', 'C++ only warning flags', ''), - - ('LLIBS', 'Platform libs', ''), - ('PLATFORM_LINKFLAGS', 'Platform linkflags', ''), + ('CFLAGS', 'C only flags', []), + ('CCFLAGS', 'Generic C and C++ flags', []), + ('CXXFLAGS', 'C++ only flags', []), + ('BGE_CXXFLAGS', 'C++ only flags for BGE', []), + ('CPPFLAGS', 'Defines', []), + ('REL_CFLAGS', 'C only release flags', []), + ('REL_CCFLAGS', 'Generic C and C++ release flags', []), + ('REL_CXXFLAGS', 'C++ only release flags', []), + + ('C_WARN', 'C warning flags', []), + ('CC_WARN', 'Generic C and C++ warning flags', []), + ('CXX_WARN', 'C++ only warning flags', []), + + ('LLIBS', 'Platform libs', []), + ('PLATFORM_LINKFLAGS', 'Platform linkflags', []), ('MACOSX_ARCHITECTURE', 'python_arch.zip select', ''), (BoolVariable('BF_PROFILE', 'Add profiling information if true', False)), - ('BF_PROFILE_CFLAGS', 'C only profiling flags', ''), - ('BF_PROFILE_CCFLAGS', 'C and C++ profiling flags', ''), - ('BF_PROFILE_CXXFLAGS', 'C++ only profiling flags', ''), - ('BF_PROFILE_LINKFLAGS', 'Profile linkflags', ''), + ('BF_PROFILE_CFLAGS', 'C only profiling flags', []), + ('BF_PROFILE_CCFLAGS', 'C and C++ profiling flags', []), + ('BF_PROFILE_CXXFLAGS', 'C++ only profiling flags', []), + ('BF_PROFILE_LINKFLAGS', 'Profile linkflags', []), (BoolVariable('BF_DEBUG', 'Add debug flags if true', False)), - ('BF_DEBUG_CFLAGS', 'C only debug flags', ''), - ('BF_DEBUG_CCFLAGS', 'C and C++ debug flags', ''), - ('BF_DEBUG_CXXFLAGS', 'C++ only debug flags', ''), + ('BF_DEBUG_CFLAGS', 'C only debug flags', []), + ('BF_DEBUG_CCFLAGS', 'C and C++ debug flags', []), + ('BF_DEBUG_CXXFLAGS', 'C++ only debug flags', []), (BoolVariable('BF_BSC', 'Create .bsc files (msvc only)', False)), -- cgit v1.2.3 From 0aa2eee3eff83cc4a6160a292219b20ac579481a Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Tue, 19 Oct 2010 05:36:16 +0000 Subject: bugfix with applying the object matrix with negative scales. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- fixes report by ronan ducluzeau Scale default cube on X axis to -1. Rotate it on X axis to 33°. Parent cube to lamp. Clear parent and keep offset. Cube's scaling value on X axis pass from -1 to 1 Cube's rotation value on Z axis pass from 0° to 180° --- source/blender/blenkernel/intern/object.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/source/blender/blenkernel/intern/object.c b/source/blender/blenkernel/intern/object.c index b91a66fd69f..142e41918dd 100644 --- a/source/blender/blenkernel/intern/object.c +++ b/source/blender/blenkernel/intern/object.c @@ -1704,12 +1704,18 @@ void object_apply_mat4(Object *ob, float mat[][4]) /* location */ copy_v3_v3(ob->loc, mat[3]); - - /* rotation */ + + /* rotation & scale are linked, we need to create the mat's + * for these together since they are related. */ copy_m3_m4(mat3, mat); /* so scale doesnt interfear with rotation [#24291] */ normalize_m3_m3(mat3_n, (const float(*)[3])mat3); + if(mat3_n[0][0] < 0.0f) negate_v3(mat3_n[0]); + if(mat3_n[1][1] < 0.0f) negate_v3(mat3_n[1]); + if(mat3_n[2][2] < 0.0f) negate_v3(mat3_n[2]); + + /* rotation */ object_mat3_to_rot(ob, mat3_n, 0); /* scale */ -- cgit v1.2.3 From db7407077854c0769ba524765f58e88a3096ab51 Mon Sep 17 00:00:00 2001 From: Nathan Letwory Date: Tue, 19 Oct 2010 05:42:31 +0000 Subject: Make C4013 throw a warning -> 'function' undefined; assuming extern returning int --- CMakeLists.txt | 4 ++-- build_files/scons/config/win32-vc-config.py | 2 +- build_files/scons/config/win64-vc-config.py | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 39ef55f351f..1802698ab92 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -402,8 +402,8 @@ IF(WIN32) SET(LLIBS kernel32 user32 gdi32 comdlg32 advapi32 shell32 ole32 oleaut32 uuid ws2_32 vfw32 winmm) ENDIF(CMAKE_CL_64) - SET(CMAKE_CXX_FLAGS "/D_CRT_NONSTDC_NO_DEPRECATE /D_CRT_SECURE_NO_DEPRECATE /D_SCL_SECURE_NO_DEPRECATE /wd4800 /wd4244 /wd4305" CACHE STRING "MSVC MT C++ flags " FORCE) - SET(CMAKE_C_FLAGS "/D_CRT_NONSTDC_NO_DEPRECATE /D_CRT_SECURE_NO_DEPRECATE /D_SCL_SECURE_NO_DEPRECATE /wd4800 /wd4244 /wd4305" CACHE STRING "MSVC MT C++ flags " FORCE) + SET(CMAKE_CXX_FLAGS "/D_CRT_NONSTDC_NO_DEPRECATE /D_CRT_SECURE_NO_DEPRECATE /D_SCL_SECURE_NO_DEPRECATE /we4013 /wd4800 /wd4244 /wd4305" CACHE STRING "MSVC MT C++ flags " FORCE) + SET(CMAKE_C_FLAGS "/D_CRT_NONSTDC_NO_DEPRECATE /D_CRT_SECURE_NO_DEPRECATE /D_SCL_SECURE_NO_DEPRECATE /we4013 /wd4800 /wd4244 /wd4305" CACHE STRING "MSVC MT C++ flags " FORCE) IF(CMAKE_CL_64) SET(CMAKE_CXX_FLAGS_DEBUG "/D_DEBUG /Od /Gm /EHsc /RTC1 /MTd /W3 /nologo /Zi /J" CACHE STRING "MSVC MT flags " FORCE) diff --git a/build_files/scons/config/win32-vc-config.py b/build_files/scons/config/win32-vc-config.py index fc912c72732..57199192e98 100644 --- a/build_files/scons/config/win32-vc-config.py +++ b/build_files/scons/config/win32-vc-config.py @@ -170,7 +170,7 @@ BF_OPENGL_LIB_STATIC = [ '${BF_OPENGL}/lib/libGL.a', '${BF_OPENGL}/lib/libGLU.a' CC = 'cl.exe' CXX = 'cl.exe' -CCFLAGS = ['/nologo', '/Ob1', '/J', '/W3', '/Gd', '/wd4244', '/wd4305', '/wd4800', '/wd4065', '/wd4267'] +CCFLAGS = ['/nologo', '/Ob1', '/J', '/W3', '/Gd', '/wd4244', '/wd4305', '/wd4800', '/wd4065', '/wd4267', '/we4013'] CXXFLAGS = ['/EHsc'] BGE_CXXFLAGS = ['/O2', '/EHsc', '/GR', '/fp:fast', '/arch:SSE'] diff --git a/build_files/scons/config/win64-vc-config.py b/build_files/scons/config/win64-vc-config.py index da5600e5615..18d9dc93eec 100644 --- a/build_files/scons/config/win64-vc-config.py +++ b/build_files/scons/config/win64-vc-config.py @@ -166,7 +166,7 @@ CC = 'cl.exe' CXX = 'cl.exe' CFLAGS = [] -CCFLAGS = ['/nologo', '/Ob1', '/J', '/W3', '/Gd', '/wd4244', '/wd4305', '/wd4800', '/wd4065', '/wd4267'] +CCFLAGS = ['/nologo', '/Ob1', '/J', '/W3', '/Gd', '/we4013', '/wd4244', '/wd4305', '/wd4800', '/wd4065', '/wd4267'] CXXFLAGS = ['/EHsc'] BGE_CXXFLAGS = ['/O2', '/EHsc', '/GR', '/fp:fast'] -- cgit v1.2.3 From f515b579e7ee7a500c896c08afbbdb890c8d153f Mon Sep 17 00:00:00 2001 From: Nathan Letwory Date: Tue, 19 Oct 2010 05:47:22 +0000 Subject: Remove BLI_bfile.c from build process. It is unused, and currently throws error C4013 (ie. previous commit works sweetly ;) --- source/blender/blenlib/SConscript | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/source/blender/blenlib/SConscript b/source/blender/blenlib/SConscript index 78aecf9936b..9ee03df8d8b 100644 --- a/source/blender/blenlib/SConscript +++ b/source/blender/blenlib/SConscript @@ -3,6 +3,11 @@ Import ('env') sources = env.Glob('intern/*.c') +if env['OURPLATFORM'] in ('win32-vc', 'win32-mingw', 'win64-vc'): + sources.remove('intern\\BLI_bfile.c') +else: + sources.remove('intern/BLI_bfile.c') + cflags='' incs = '. ../makesdna ../blenkernel #/intern/guardedalloc #/intern/ghost ../editors/include ../gpu' incs += ' ' + env['BF_FREETYPE_INC'] -- cgit v1.2.3 From 6a842c19ae059c235440fb9d43987e3708986e13 Mon Sep 17 00:00:00 2001 From: Sergey Sharybin Date: Tue, 19 Oct 2010 07:10:12 +0000 Subject: Fix #24321: duplicate of multiresolution modifier error --- source/blender/modifiers/intern/MOD_multires.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/source/blender/modifiers/intern/MOD_multires.c b/source/blender/modifiers/intern/MOD_multires.c index 758809ff7ec..96dcde12180 100644 --- a/source/blender/modifiers/intern/MOD_multires.c +++ b/source/blender/modifiers/intern/MOD_multires.c @@ -59,6 +59,8 @@ static void copyData(ModifierData *md, ModifierData *target) tmmd->sculptlvl = mmd->sculptlvl; tmmd->renderlvl = mmd->renderlvl; tmmd->totlvl = mmd->totlvl; + tmmd->simple = mmd->simple; + tmmd->flags = mmd->flags; } static DerivedMesh *applyModifier(ModifierData *md, Object *ob, DerivedMesh *dm, -- cgit v1.2.3 From f3b031314d8ea4e127cf61e8f7b778c8c6cb9af1 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Tue, 19 Oct 2010 07:23:34 +0000 Subject: [#24270] RNA Properties with long Variable Names disallow registering RNA with names longer then 31 chars. --- source/blender/python/intern/bpy_props.c | 80 ++++++++++++++++++++++++++++---- 1 file changed, 70 insertions(+), 10 deletions(-) diff --git a/source/blender/python/intern/bpy_props.c b/source/blender/python/intern/bpy_props.c index ec5bb595810..70e7d2c16cd 100644 --- a/source/blender/python/intern/bpy_props.c +++ b/source/blender/python/intern/bpy_props.c @@ -164,6 +164,7 @@ static PyObject *BPy_BoolProperty(PyObject *self, PyObject *args, PyObject *kw) if(srna) { static char *kwlist[] = {"attr", "name", "description", "default", "options", "subtype", NULL}; char *id=NULL, *name="", *description=""; + int id_len; int def=0; PropertyRNA *prop; PyObject *pyopts= NULL; @@ -171,9 +172,14 @@ static PyObject *BPy_BoolProperty(PyObject *self, PyObject *args, PyObject *kw) char *pysubtype= NULL; int subtype= PROP_NONE; - if (!PyArg_ParseTupleAndKeywords(args, kw, "s|ssiO!s:BoolProperty", (char **)kwlist, &id, &name, &description, &def, &PySet_Type, &pyopts, &pysubtype)) + if (!PyArg_ParseTupleAndKeywords(args, kw, "s#|ssiO!s:BoolProperty", (char **)kwlist, &id, &id_len, &name, &description, &def, &PySet_Type, &pyopts, &pysubtype)) return NULL; + if(id_len >= MAX_IDPROP_NAME) { + PyErr_Format(PyExc_TypeError, "BoolProperty(): %.200s too long, max length is %d", MAX_IDPROP_NAME-1, id); + return NULL; + } + if(RNA_def_property_free_identifier(srna, id) == -1) { PyErr_Format(PyExc_TypeError, "BoolProperty(): '%s' is defined as a non-dynamic type.", id); return NULL; @@ -220,6 +226,7 @@ static PyObject *BPy_BoolVectorProperty(PyObject *self, PyObject *args, PyObject if(srna) { static const char *kwlist[] = {"attr", "name", "description", "default", "options", "subtype", "size", NULL}; char *id=NULL, *name="", *description=""; + int id_len; int def[PYRNA_STACK_ARRAY]={0}; int size=3; PropertyRNA *prop; @@ -229,9 +236,14 @@ static PyObject *BPy_BoolVectorProperty(PyObject *self, PyObject *args, PyObject char *pysubtype= NULL; int subtype= PROP_NONE; - if (!PyArg_ParseTupleAndKeywords(args, kw, "s|ssOO!si:BoolVectorProperty", (char **)kwlist, &id, &name, &description, &pydef, &PySet_Type, &pyopts, &pysubtype, &size)) + if (!PyArg_ParseTupleAndKeywords(args, kw, "s#|ssOO!si:BoolVectorProperty", (char **)kwlist, &id, &id_len, &name, &description, &pydef, &PySet_Type, &pyopts, &pysubtype, &size)) return NULL; + if(id_len >= MAX_IDPROP_NAME) { + PyErr_Format(PyExc_TypeError, "BoolVectorProperty(): %.200s too long, max length is %d", MAX_IDPROP_NAME-1, id); + return NULL; + } + if(RNA_def_property_free_identifier(srna, id) == -1) { PyErr_Format(PyExc_TypeError, "BoolVectorProperty(): '%s' is defined as a non-dynamic type.", id); return NULL; @@ -287,6 +299,7 @@ static PyObject *BPy_IntProperty(PyObject *self, PyObject *args, PyObject *kw) if(srna) { static const char *kwlist[] = {"attr", "name", "description", "default", "min", "max", "soft_min", "soft_max", "step", "options", "subtype", NULL}; char *id=NULL, *name="", *description=""; + int id_len; int min=INT_MIN, max=INT_MAX, soft_min=INT_MIN, soft_max=INT_MAX, step=1, def=0; PropertyRNA *prop; PyObject *pyopts= NULL; @@ -294,9 +307,14 @@ static PyObject *BPy_IntProperty(PyObject *self, PyObject *args, PyObject *kw) char *pysubtype= NULL; int subtype= PROP_NONE; - if (!PyArg_ParseTupleAndKeywords(args, kw, "s|ssiiiiiiO!s:IntProperty", (char **)kwlist, &id, &name, &description, &def, &min, &max, &soft_min, &soft_max, &step, &PySet_Type, &pyopts, &pysubtype)) + if (!PyArg_ParseTupleAndKeywords(args, kw, "s#|ssiiiiiiO!s:IntProperty", (char **)kwlist, &id, &id_len, &name, &description, &def, &min, &max, &soft_min, &soft_max, &step, &PySet_Type, &pyopts, &pysubtype)) return NULL; + if(id_len >= MAX_IDPROP_NAME) { + PyErr_Format(PyExc_TypeError, "IntProperty(): %.200s too long, max length is %d", MAX_IDPROP_NAME-1, id); + return NULL; + } + if(RNA_def_property_free_identifier(srna, id) == -1) { PyErr_Format(PyExc_TypeError, "IntProperty(): '%s' is defined as a non-dynamic type.", id); return NULL; @@ -343,6 +361,7 @@ static PyObject *BPy_IntVectorProperty(PyObject *self, PyObject *args, PyObject if(srna) { static const char *kwlist[] = {"attr", "name", "description", "default", "min", "max", "soft_min", "soft_max", "step", "options", "subtype", "size", NULL}; char *id=NULL, *name="", *description=""; + int id_len; int min=INT_MIN, max=INT_MAX, soft_min=INT_MIN, soft_max=INT_MAX, step=1, def[PYRNA_STACK_ARRAY]={0}; int size=3; PropertyRNA *prop; @@ -352,9 +371,14 @@ static PyObject *BPy_IntVectorProperty(PyObject *self, PyObject *args, PyObject char *pysubtype= NULL; int subtype= PROP_NONE; - if (!PyArg_ParseTupleAndKeywords(args, kw, "s|ssOiiiiiO!si:IntVectorProperty", (char **)kwlist, &id, &name, &description, &pydef, &min, &max, &soft_min, &soft_max, &step, &PySet_Type, &pyopts, &pysubtype, &size)) + if (!PyArg_ParseTupleAndKeywords(args, kw, "s#|ssOiiiiiO!si:IntVectorProperty", (char **)kwlist, &id, &id_len, &name, &description, &pydef, &min, &max, &soft_min, &soft_max, &step, &PySet_Type, &pyopts, &pysubtype, &size)) return NULL; + if(id_len >= MAX_IDPROP_NAME) { + PyErr_Format(PyExc_TypeError, "IntVectorProperty(): %.200s too long, max length is %d", MAX_IDPROP_NAME-1, id); + return NULL; + } + if(RNA_def_property_free_identifier(srna, id) == -1) { PyErr_Format(PyExc_TypeError, "IntVectorProperty(): '%s' is defined as a non-dynamic type.", id); return NULL; @@ -413,6 +437,7 @@ static PyObject *BPy_FloatProperty(PyObject *self, PyObject *args, PyObject *kw) if(srna) { static const char *kwlist[] = {"attr", "name", "description", "default", "min", "max", "soft_min", "soft_max", "step", "precision", "options", "subtype", "unit", NULL}; char *id=NULL, *name="", *description=""; + int id_len; float min=-FLT_MAX, max=FLT_MAX, soft_min=-FLT_MAX, soft_max=FLT_MAX, step=3, def=0.0f; int precision= 2; PropertyRNA *prop; @@ -423,9 +448,14 @@ static PyObject *BPy_FloatProperty(PyObject *self, PyObject *args, PyObject *kw) char *pyunit= NULL; int unit= PROP_UNIT_NONE; - if (!PyArg_ParseTupleAndKeywords(args, kw, "s|ssffffffiO!ss:FloatProperty", (char **)kwlist, &id, &name, &description, &def, &min, &max, &soft_min, &soft_max, &step, &precision, &PySet_Type, &pyopts, &pysubtype, &pyunit)) + if (!PyArg_ParseTupleAndKeywords(args, kw, "s#|ssffffffiO!ss:FloatProperty", (char **)kwlist, &id, &id_len, &name, &description, &def, &min, &max, &soft_min, &soft_max, &step, &precision, &PySet_Type, &pyopts, &pysubtype, &pyunit)) return NULL; + if(id_len >= MAX_IDPROP_NAME) { + PyErr_Format(PyExc_TypeError, "FloatProperty(): %.200s too long, max length is %d", MAX_IDPROP_NAME-1, id); + return NULL; + } + if(RNA_def_property_free_identifier(srna, id) == -1) { PyErr_Format(PyExc_TypeError, "FloatProperty(): '%s' is defined as a non-dynamic type.", id); return NULL; @@ -477,6 +507,7 @@ static PyObject *BPy_FloatVectorProperty(PyObject *self, PyObject *args, PyObjec if(srna) { static const char *kwlist[] = {"attr", "name", "description", "default", "min", "max", "soft_min", "soft_max", "step", "precision", "options", "subtype", "size", NULL}; char *id=NULL, *name="", *description=""; + int id_len; float min=-FLT_MAX, max=FLT_MAX, soft_min=-FLT_MAX, soft_max=FLT_MAX, step=3, def[PYRNA_STACK_ARRAY]={0.0f}; int precision= 2, size=3; PropertyRNA *prop; @@ -486,9 +517,14 @@ static PyObject *BPy_FloatVectorProperty(PyObject *self, PyObject *args, PyObjec char *pysubtype= NULL; int subtype= PROP_NONE; - if (!PyArg_ParseTupleAndKeywords(args, kw, "s|ssOfffffiO!si:FloatVectorProperty", (char **)kwlist, &id, &name, &description, &pydef, &min, &max, &soft_min, &soft_max, &step, &precision, &PySet_Type, &pyopts, &pysubtype, &size)) + if (!PyArg_ParseTupleAndKeywords(args, kw, "s#|ssOfffffiO!si:FloatVectorProperty", (char **)kwlist, &id, &id_len, &name, &description, &pydef, &min, &max, &soft_min, &soft_max, &step, &precision, &PySet_Type, &pyopts, &pysubtype, &size)) return NULL; + if(id_len >= MAX_IDPROP_NAME) { + PyErr_Format(PyExc_TypeError, "FloatVectorProperty(): %.200s too long, max length is %d", MAX_IDPROP_NAME-1, id); + return NULL; + } + if(RNA_def_property_free_identifier(srna, id) == -1) { PyErr_Format(PyExc_TypeError, "FloatVectorProperty(): '%s' is defined as a non-dynamic type.", id); return NULL; @@ -544,6 +580,7 @@ static PyObject *BPy_StringProperty(PyObject *self, PyObject *args, PyObject *kw if(srna) { static const char *kwlist[] = {"attr", "name", "description", "default", "maxlen", "options", "subtype", NULL}; char *id=NULL, *name="", *description="", *def=""; + int id_len; int maxlen=0; PropertyRNA *prop; PyObject *pyopts= NULL; @@ -551,9 +588,14 @@ static PyObject *BPy_StringProperty(PyObject *self, PyObject *args, PyObject *kw char *pysubtype= NULL; int subtype= PROP_NONE; - if (!PyArg_ParseTupleAndKeywords(args, kw, "s|sssiO!s:StringProperty", (char **)kwlist, &id, &name, &description, &def, &maxlen, &PySet_Type, &pyopts, &pysubtype)) + if (!PyArg_ParseTupleAndKeywords(args, kw, "s#|sssiO!s:StringProperty", (char **)kwlist, &id, &id_len, &name, &description, &def, &maxlen, &PySet_Type, &pyopts, &pysubtype)) return NULL; + if(id_len >= MAX_IDPROP_NAME) { + PyErr_Format(PyExc_TypeError, "StringProperty(): %.200s too long, max length is %d", MAX_IDPROP_NAME-1, id); + return NULL; + } + if(RNA_def_property_free_identifier(srna, id) == -1) { PyErr_Format(PyExc_TypeError, "StringProperty(): '%s' is defined as a non-dynamic type.", id); return NULL; @@ -645,6 +687,7 @@ static PyObject *BPy_EnumProperty(PyObject *self, PyObject *args, PyObject *kw) if(srna) { static const char *kwlist[] = {"attr", "items", "name", "description", "default", "options", NULL}; char *id=NULL, *name="", *description="", *def=""; + int id_len; int defvalue=0; PyObject *items= Py_None; EnumPropertyItem *eitems; @@ -652,9 +695,14 @@ static PyObject *BPy_EnumProperty(PyObject *self, PyObject *args, PyObject *kw) PyObject *pyopts= NULL; int opts=0; - if (!PyArg_ParseTupleAndKeywords(args, kw, "sO|sssO!:EnumProperty", (char **)kwlist, &id, &items, &name, &description, &def, &PySet_Type, &pyopts)) + if (!PyArg_ParseTupleAndKeywords(args, kw, "s#O|sssO!:EnumProperty", (char **)kwlist, &id, &id_len, &items, &name, &description, &def, &PySet_Type, &pyopts)) return NULL; + if(id_len >= MAX_IDPROP_NAME) { + PyErr_Format(PyExc_TypeError, "EnumProperty(): %.200s too long, max length is %d", MAX_IDPROP_NAME-1, id); + return NULL; + } + if(RNA_def_property_free_identifier(srna, id) == -1) { PyErr_Format(PyExc_TypeError, "EnumProperty(): '%s' is defined as a non-dynamic type.", id); return NULL; @@ -718,15 +766,21 @@ static PyObject *BPy_PointerProperty(PyObject *self, PyObject *args, PyObject *k if(srna) { static const char *kwlist[] = {"attr", "type", "name", "description", "options", NULL}; char *id=NULL, *name="", *description=""; + int id_len; PropertyRNA *prop; StructRNA *ptype; PyObject *type= Py_None; PyObject *pyopts= NULL; int opts=0; - if (!PyArg_ParseTupleAndKeywords(args, kw, "sO|ssO!:PointerProperty", (char **)kwlist, &id, &type, &name, &description, &PySet_Type, &pyopts)) + if (!PyArg_ParseTupleAndKeywords(args, kw, "s#O|ssO!:PointerProperty", (char **)kwlist, &id, &id_len, &type, &name, &description, &PySet_Type, &pyopts)) return NULL; + if(id_len >= MAX_IDPROP_NAME) { + PyErr_Format(PyExc_TypeError, "PointerProperty(): %.200s too long, max length is %d", MAX_IDPROP_NAME-1, id); + return NULL; + } + if(RNA_def_property_free_identifier(srna, id) == -1) { PyErr_Format(PyExc_TypeError, "PointerProperty(): '%s' is defined as a non-dynamic type.", id); return NULL; @@ -767,15 +821,21 @@ static PyObject *BPy_CollectionProperty(PyObject *self, PyObject *args, PyObject if(srna) { static const char *kwlist[] = {"attr", "type", "name", "description", "options", NULL}; char *id=NULL, *name="", *description=""; + int id_len; PropertyRNA *prop; StructRNA *ptype; PyObject *type= Py_None; PyObject *pyopts= NULL; int opts=0; - if (!PyArg_ParseTupleAndKeywords(args, kw, "sO|ssO!:CollectionProperty", (char **)kwlist, &id, &type, &name, &description, &PySet_Type, &pyopts)) + if (!PyArg_ParseTupleAndKeywords(args, kw, "s#O|ssO!:CollectionProperty", (char **)kwlist, &id, &id_len, &type, &name, &description, &PySet_Type, &pyopts)) return NULL; + if(id_len >= MAX_IDPROP_NAME) { + PyErr_Format(PyExc_TypeError, "CollectionProperty(): %.200s too long, max length is %d", MAX_IDPROP_NAME-1, id); + return NULL; + } + if(RNA_def_property_free_identifier(srna, id) == -1) { PyErr_Format(PyExc_TypeError, "CollectionProperty(): '%s' is defined as a non-dynamic type.", id); return NULL; -- cgit v1.2.3 From 53c1d1a18a6d79e1ccbd3006a0d8c4e46392a983 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Tue, 19 Oct 2010 08:35:30 +0000 Subject: patch [#24320] Fix for [#24311] Copy and Paste from Alexander Kuznetsov (alexk) This check was dubious to begin with, if it causes more problems it should be removed. --- source/blender/editors/interface/interface_handlers.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/source/blender/editors/interface/interface_handlers.c b/source/blender/editors/interface/interface_handlers.c index ab8fda85ff2..5dbeb08d45b 100644 --- a/source/blender/editors/interface/interface_handlers.c +++ b/source/blender/editors/interface/interface_handlers.c @@ -4281,7 +4281,12 @@ static int ui_do_button(bContext *C, uiBlock *block, uiBut *but, wmEvent *event) if(but->flag & UI_BUT_DISABLED) return WM_UI_HANDLER_CONTINUE; - if(data->state == BUTTON_STATE_HIGHLIGHT && event->prevval != KM_PRESS) { /* check prevval because of modal operators [#24016] */ + if( (data->state == BUTTON_STATE_HIGHLIGHT) && + /* check prevval because of modal operators [#24016], + * modifier check is to allow Ctrl+C for copy. + * if this causes other problems, remove this check and suffer the bug :) - campbell */ + (event->prevval != KM_PRESS || ISKEYMODIFIER(event->prevtype)) + ) { /* handle copy-paste */ if(ELEM(event->type, CKEY, VKEY) && event->val==KM_PRESS && (event->ctrl || event->oskey)) { ui_but_copy_paste(C, but, data, (event->type == CKEY)? 'c': 'v'); -- cgit v1.2.3 From a781157047a5085fbe6d2a836571b6bff9871d02 Mon Sep 17 00:00:00 2001 From: Janne Karhu Date: Tue, 19 Oct 2010 09:28:38 +0000 Subject: Fix for bugs [#24316] Changing particles path step in particle mode makes lines invisible and [#24318] Particle lines disappear if view particles are enabled. --- source/blender/editors/space_view3d/drawobject.c | 1 + 1 file changed, 1 insertion(+) diff --git a/source/blender/editors/space_view3d/drawobject.c b/source/blender/editors/space_view3d/drawobject.c index 5fabe6f2496..bc340ef5b4b 100644 --- a/source/blender/editors/space_view3d/drawobject.c +++ b/source/blender/editors/space_view3d/drawobject.c @@ -5999,6 +5999,7 @@ void draw_object(Scene *scene, ARegion *ar, View3D *v3d, Base *base, int flag) PTCacheEdit *edit = PE_create_current(scene, ob); if(edit) { glLoadMatrixf(rv3d->viewmat); + draw_update_ptcache_edit(scene, ob, edit); draw_ptcache_edit(scene, v3d, edit); glMultMatrixf(ob->obmat); } -- cgit v1.2.3 From d7b40531cdfd21791d4ed36373ceb8cefe052b51 Mon Sep 17 00:00:00 2001 From: Nathan Letwory Date: Tue, 19 Oct 2010 09:38:56 +0000 Subject: Fix [#20277] Bug with Continuous Grab on Windows Reported by Alex Glawion When we have a maximized window we need to take into account that there are no borders. --- intern/ghost/intern/GHOST_WindowWin32.cpp | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/intern/ghost/intern/GHOST_WindowWin32.cpp b/intern/ghost/intern/GHOST_WindowWin32.cpp index 1366aebf9e7..75abc110743 100644 --- a/intern/ghost/intern/GHOST_WindowWin32.cpp +++ b/intern/ghost/intern/GHOST_WindowWin32.cpp @@ -373,15 +373,24 @@ void GHOST_WindowWin32::getWindowBounds(GHOST_Rect& bounds) const void GHOST_WindowWin32::getClientBounds(GHOST_Rect& bounds) const { RECT rect; - + GHOST_TWindowState state= this->getState(); LONG_PTR result = ::GetWindowLongPtr(m_hWnd, GWL_STYLE); + int sm_cysizeframe = GetSystemMetrics(SM_CYSIZEFRAME); ::GetWindowRect(m_hWnd, &rect); if((result & (WS_POPUP | WS_MAXIMIZE)) != (WS_POPUP | WS_MAXIMIZE)) { - bounds.m_b = rect.bottom-GetSystemMetrics(SM_CYCAPTION)-GetSystemMetrics(SM_CYSIZEFRAME)*2; - bounds.m_l = rect.left; - bounds.m_r = rect.right-GetSystemMetrics(SM_CYSIZEFRAME)*2; - bounds.m_t = rect.top; + if(state==GHOST_kWindowStateMaximized) { + // in maximized state we don't have borders on the window + bounds.m_b = rect.bottom-GetSystemMetrics(SM_CYCAPTION)- sm_cysizeframe*2; + bounds.m_l = rect.left + sm_cysizeframe; + bounds.m_r = rect.right - sm_cysizeframe; + bounds.m_t = rect.top; + } else { + bounds.m_b = rect.bottom-GetSystemMetrics(SM_CYCAPTION)-sm_cysizeframe*2; + bounds.m_l = rect.left; + bounds.m_r = rect.right-sm_cysizeframe*2; + bounds.m_t = rect.top; + } } else { ::GetWindowRect(m_hWnd, &rect); bounds.m_b = rect.bottom; -- cgit v1.2.3 From f979bca91132f1b5cff04ca57658f0ef8b4ce06d Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Tue, 19 Oct 2010 09:50:43 +0000 Subject: fix for exceptions in recent commit. --- source/blender/python/intern/bpy_props.c | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/source/blender/python/intern/bpy_props.c b/source/blender/python/intern/bpy_props.c index 70e7d2c16cd..96fc9443cf5 100644 --- a/source/blender/python/intern/bpy_props.c +++ b/source/blender/python/intern/bpy_props.c @@ -176,7 +176,7 @@ static PyObject *BPy_BoolProperty(PyObject *self, PyObject *args, PyObject *kw) return NULL; if(id_len >= MAX_IDPROP_NAME) { - PyErr_Format(PyExc_TypeError, "BoolProperty(): %.200s too long, max length is %d", MAX_IDPROP_NAME-1, id); + PyErr_Format(PyExc_TypeError, "BoolProperty(): %.200s too long, max length is %d", id, MAX_IDPROP_NAME-1); return NULL; } @@ -240,7 +240,7 @@ static PyObject *BPy_BoolVectorProperty(PyObject *self, PyObject *args, PyObject return NULL; if(id_len >= MAX_IDPROP_NAME) { - PyErr_Format(PyExc_TypeError, "BoolVectorProperty(): %.200s too long, max length is %d", MAX_IDPROP_NAME-1, id); + PyErr_Format(PyExc_TypeError, "BoolVectorProperty(): %.200s too long, max length is %d", id, MAX_IDPROP_NAME-1); return NULL; } @@ -311,7 +311,7 @@ static PyObject *BPy_IntProperty(PyObject *self, PyObject *args, PyObject *kw) return NULL; if(id_len >= MAX_IDPROP_NAME) { - PyErr_Format(PyExc_TypeError, "IntProperty(): %.200s too long, max length is %d", MAX_IDPROP_NAME-1, id); + PyErr_Format(PyExc_TypeError, "IntProperty(): %.200s too long, max length is %d", id, MAX_IDPROP_NAME-1); return NULL; } @@ -375,7 +375,7 @@ static PyObject *BPy_IntVectorProperty(PyObject *self, PyObject *args, PyObject return NULL; if(id_len >= MAX_IDPROP_NAME) { - PyErr_Format(PyExc_TypeError, "IntVectorProperty(): %.200s too long, max length is %d", MAX_IDPROP_NAME-1, id); + PyErr_Format(PyExc_TypeError, "IntVectorProperty(): %.200s too long, max length is %d", id, MAX_IDPROP_NAME-1); return NULL; } @@ -452,7 +452,7 @@ static PyObject *BPy_FloatProperty(PyObject *self, PyObject *args, PyObject *kw) return NULL; if(id_len >= MAX_IDPROP_NAME) { - PyErr_Format(PyExc_TypeError, "FloatProperty(): %.200s too long, max length is %d", MAX_IDPROP_NAME-1, id); + PyErr_Format(PyExc_TypeError, "FloatProperty(): %.200s too long, max length is %d", id, MAX_IDPROP_NAME-1); return NULL; } @@ -521,7 +521,7 @@ static PyObject *BPy_FloatVectorProperty(PyObject *self, PyObject *args, PyObjec return NULL; if(id_len >= MAX_IDPROP_NAME) { - PyErr_Format(PyExc_TypeError, "FloatVectorProperty(): %.200s too long, max length is %d", MAX_IDPROP_NAME-1, id); + PyErr_Format(PyExc_TypeError, "FloatVectorProperty(): %.200s too long, max length is %d", id, MAX_IDPROP_NAME-1); return NULL; } @@ -592,7 +592,7 @@ static PyObject *BPy_StringProperty(PyObject *self, PyObject *args, PyObject *kw return NULL; if(id_len >= MAX_IDPROP_NAME) { - PyErr_Format(PyExc_TypeError, "StringProperty(): %.200s too long, max length is %d", MAX_IDPROP_NAME-1, id); + PyErr_Format(PyExc_TypeError, "StringProperty(): %.200s too long, max length is %d", id, MAX_IDPROP_NAME-1); return NULL; } @@ -699,7 +699,7 @@ static PyObject *BPy_EnumProperty(PyObject *self, PyObject *args, PyObject *kw) return NULL; if(id_len >= MAX_IDPROP_NAME) { - PyErr_Format(PyExc_TypeError, "EnumProperty(): %.200s too long, max length is %d", MAX_IDPROP_NAME-1, id); + PyErr_Format(PyExc_TypeError, "EnumProperty(): %.200s too long, max length is %d", id, MAX_IDPROP_NAME-1); return NULL; } @@ -777,7 +777,7 @@ static PyObject *BPy_PointerProperty(PyObject *self, PyObject *args, PyObject *k return NULL; if(id_len >= MAX_IDPROP_NAME) { - PyErr_Format(PyExc_TypeError, "PointerProperty(): %.200s too long, max length is %d", MAX_IDPROP_NAME-1, id); + PyErr_Format(PyExc_TypeError, "PointerProperty(): %.200s too long, max length is %d", id, MAX_IDPROP_NAME-1); return NULL; } @@ -832,7 +832,7 @@ static PyObject *BPy_CollectionProperty(PyObject *self, PyObject *args, PyObject return NULL; if(id_len >= MAX_IDPROP_NAME) { - PyErr_Format(PyExc_TypeError, "CollectionProperty(): %.200s too long, max length is %d", MAX_IDPROP_NAME-1, id); + PyErr_Format(PyExc_TypeError, "CollectionProperty(): %.200s too long, max length is %d", id, MAX_IDPROP_NAME-1); return NULL; } -- cgit v1.2.3 From bb922659955b851a1ed5190961cd5fc51c104444 Mon Sep 17 00:00:00 2001 From: Janne Karhu Date: Tue, 19 Oct 2010 10:17:19 +0000 Subject: Fix for [#24319] Removing a cloth or softbody simulation in paticle mode problem --- source/blender/editors/object/object_modifier.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/source/blender/editors/object/object_modifier.c b/source/blender/editors/object/object_modifier.c index c273b375a06..3d36ed9f45e 100644 --- a/source/blender/editors/object/object_modifier.c +++ b/source/blender/editors/object/object_modifier.c @@ -196,6 +196,11 @@ int ED_object_modifier_remove(ReportList *reports, Main *bmain, Scene *scene, Ob CustomData_free_layer_active(&me->fdata, CD_MDISPS, me->totface); } + if(ELEM(md->type, eModifierType_Softbody, eModifierType_Cloth) && + ob->particlesystem.first == NULL) { + ob->mode &= ~OB_MODE_PARTICLE_EDIT; + } + BLI_remlink(&ob->modifiers, md); modifier_free(md); @@ -658,11 +663,18 @@ static int modifier_remove_exec(bContext *C, wmOperator *op) Scene *scene= CTX_data_scene(C); Object *ob = ED_object_active_context(C); ModifierData *md = edit_modifier_property_get(op, ob, 0); + int mode_orig = ob->mode; if(!ob || !md || !ED_object_modifier_remove(op->reports, bmain, scene, ob, md)) return OPERATOR_CANCELLED; WM_event_add_notifier(C, NC_OBJECT|ND_MODIFIER, ob); + + /* if cloth/softbody was removed, particle mode could be cleared */ + if(mode_orig & OB_MODE_PARTICLE_EDIT) + if((ob->mode & OB_MODE_PARTICLE_EDIT)==0) + if(scene->basact && scene->basact->object==ob) + WM_event_add_notifier(C, NC_SCENE|ND_MODE|NS_MODE_OBJECT, NULL); return OPERATOR_FINISHED; } -- cgit v1.2.3 From ff5cbabffd4d1bcfc8ff1c110e7f9d6d74c94f54 Mon Sep 17 00:00:00 2001 From: Janne Karhu Date: Tue, 19 Oct 2010 10:26:53 +0000 Subject: Fix for [#24313] Displacement modifier is not respecting animated texture channels. --- source/blender/blenkernel/intern/texture.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/source/blender/blenkernel/intern/texture.c b/source/blender/blenkernel/intern/texture.c index 77416f4dd12..da3dea37220 100644 --- a/source/blender/blenkernel/intern/texture.c +++ b/source/blender/blenkernel/intern/texture.c @@ -1337,13 +1337,11 @@ int BKE_texture_dependsOnTime(const struct Tex *texture) else if( texture->ima && ELEM(texture->ima->source, IMA_SRC_SEQUENCE, IMA_SRC_MOVIE)) { return 1; - } -#if 0 // XXX old animation system - else if(texture->ipo) { - // assume any ipo means the texture is animated + } + else if(texture->adt) { + // assume anything in adt means the texture is animated return 1; } -#endif // XXX old animation system return 0; } -- cgit v1.2.3 From 5738f3b0b484e35582ac8dd8e46a75b66c0a6db3 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Tue, 19 Oct 2010 10:32:02 +0000 Subject: bugfix [#24322] Rotating objects with Axis+Angle mode fails. --- source/blender/editors/transform/transform.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/blender/editors/transform/transform.c b/source/blender/editors/transform/transform.c index ae0bce176c1..e6a42b9a921 100644 --- a/source/blender/editors/transform/transform.c +++ b/source/blender/editors/transform/transform.c @@ -3017,7 +3017,7 @@ static void ElementRotation(TransInfo *t, TransData *td, float mat[3][3], short mat3_to_quat( quat,fmat); // Actual transform mul_qt_qtqt(tquat, quat, iquat); - quat_to_axis_angle( td->ext->rotAxis, td->ext->rotAngle,quat); + quat_to_axis_angle( td->ext->rotAxis, td->ext->rotAngle,tquat); /* this function works on end result */ protectedAxisAngleBits(td->protectflag, td->ext->rotAxis, td->ext->rotAngle, td->ext->irotAxis, td->ext->irotAngle); -- cgit v1.2.3 From 03d4121a55a831f1df87c6ba09a520aabe5312d7 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Tue, 19 Oct 2010 11:15:08 +0000 Subject: Cancelling rotation on axis/angle object rotation didnt restore the original rotation. also commented drotAxis/Angle since its not used yet. --- source/blender/editors/transform/transform.h | 4 ++-- source/blender/editors/transform/transform_conversions.c | 4 ++-- source/blender/editors/transform/transform_generics.c | 7 +++++++ 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/source/blender/editors/transform/transform.h b/source/blender/editors/transform/transform.h index bb6ffe9155f..c897c1df842 100644 --- a/source/blender/editors/transform/transform.h +++ b/source/blender/editors/transform/transform.h @@ -131,8 +131,8 @@ typedef struct TransCon { typedef struct TransDataExtension { float drot[3]; /* Initial object drot */ - float drotAngle; /* Initial object drotAngle */ - float drotAxis[3]; /* Initial object drotAxis */ + // float drotAngle; /* Initial object drotAngle, TODO: not yet implimented */ + // float drotAxis[3]; /* Initial object drotAxis, TODO: not yet implimented */ float dquat[4]; /* Initial object dquat */ float dsize[3]; /* Initial object dsize */ float *rot; /* Rotation of the data to transform (Faculative) */ diff --git a/source/blender/editors/transform/transform_conversions.c b/source/blender/editors/transform/transform_conversions.c index d723f77f537..7e74d12941b 100644 --- a/source/blender/editors/transform/transform_conversions.c +++ b/source/blender/editors/transform/transform_conversions.c @@ -4298,8 +4298,8 @@ static void ObjectToTransData(TransInfo *t, TransData *td, Object *ob) td->ext->irotAngle= ob->rotAngle; VECCOPY(td->ext->irotAxis, ob->rotAxis); - td->ext->drotAngle= ob->drotAngle; - VECCOPY(td->ext->drotAxis, ob->drotAxis); + // td->ext->drotAngle= ob->drotAngle; // XXX, not implimented + // VECCOPY(td->ext->drotAxis, ob->drotAxis); // XXX, not implimented } else { td->ext->rot= NULL; diff --git a/source/blender/editors/transform/transform_generics.c b/source/blender/editors/transform/transform_generics.c index c473d6395ec..cd40cb3bb25 100644 --- a/source/blender/editors/transform/transform_generics.c +++ b/source/blender/editors/transform/transform_generics.c @@ -1177,6 +1177,13 @@ static void restoreElement(TransData *td) { if (td->ext->rot) { VECCOPY(td->ext->rot, td->ext->irot); } + if(td->ext->rotAngle) { + *td->ext->rotAngle= td->ext->irotAngle; + } + if(td->ext->rotAxis) { + VECCOPY(td->ext->rotAxis, td->ext->irotAxis); + } + /* XXX, drotAngle & drotAxis not used yet */ if (td->ext->size) { VECCOPY(td->ext->size, td->ext->isize); } -- cgit v1.2.3 From 20c920e9540eabbb862d15be97db4cd76052927d Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Tue, 19 Oct 2010 11:39:37 +0000 Subject: rename anim.c -> anim_movie.c since we have an anim.c in blenkernel too, it confused debuggers in some cases. --- source/blender/imbuf/intern/anim.c | 1189 ------------------------------ source/blender/imbuf/intern/anim_movie.c | 1189 ++++++++++++++++++++++++++++++ 2 files changed, 1189 insertions(+), 1189 deletions(-) delete mode 100644 source/blender/imbuf/intern/anim.c create mode 100644 source/blender/imbuf/intern/anim_movie.c diff --git a/source/blender/imbuf/intern/anim.c b/source/blender/imbuf/intern/anim.c deleted file mode 100644 index 8df0d69bcfa..00000000000 --- a/source/blender/imbuf/intern/anim.c +++ /dev/null @@ -1,1189 +0,0 @@ -/** - * anim.c - * - * $Id$ - * - * ***** BEGIN GPL LICENSE BLOCK ***** - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - * - * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV. - * All rights reserved. - * - * The Original Code is: all of this file. - * - * Contributor(s): none yet. - * - * ***** END GPL LICENSE BLOCK ***** - */ - -#ifdef _WIN32 -#define INC_OLE2 -#include -#include -#include -#include -#include - -#ifndef FREE_WINDOWS -#include -#endif - -#undef AVIIF_KEYFRAME // redefined in AVI_avi.h -#undef AVIIF_LIST // redefined in AVI_avi.h - -#define FIXCC(fcc) if (fcc == 0) fcc = mmioFOURCC('N', 'o', 'n', 'e'); \ - if (fcc == BI_RLE8) fcc = mmioFOURCC('R', 'l', 'e', '8'); -#endif - -#include -#include -#include -#include -#ifndef _WIN32 -#include -#else -#include -#endif - -#include "BLI_blenlib.h" /* BLI_remlink BLI_filesize BLI_addtail - BLI_countlist BLI_stringdec */ -#include "MEM_guardedalloc.h" - -#include "DNA_userdef_types.h" -#include "BKE_utildefines.h" -#include "BKE_global.h" -#include "BKE_depsgraph.h" - -#include "imbuf.h" - -#include "AVI_avi.h" - -#ifdef WITH_QUICKTIME -#if defined(_WIN32) || defined(__APPLE__) -#include "quicktime_import.h" -#endif /* _WIN32 || __APPLE__ */ -#endif /* WITH_QUICKTIME */ - -#include "IMB_imbuf_types.h" -#include "IMB_imbuf.h" - -#include "IMB_allocimbuf.h" -#include "IMB_anim.h" - -#ifdef WITH_FFMPEG -#include -#include -#include -#include - -#if LIBAVFORMAT_VERSION_INT < (49 << 16) -#define FFMPEG_OLD_FRAME_RATE 1 -#else -#define FFMPEG_CODEC_IS_POINTER 1 -#endif - -#if (LIBAVCODEC_VERSION_MAJOR >= 52) && (LIBAVCODEC_VERSION_MINOR >= 29) && \ - (LIBSWSCALE_VERSION_MAJOR >= 0) && (LIBSWSCALE_VERSION_MINOR >= 10) -#define FFMPEG_SWSCALE_COLOR_SPACE_SUPPORT -#endif - -#endif //WITH_FFMPEG - -#ifdef WITH_REDCODE -#ifdef _WIN32 /* on windows we use the ones in extern instead */ -#include "libredcode/format.h" -#include "libredcode/codec.h" -#else -#include "libredcode/format.h" -#include "libredcode/codec.h" -#endif -#endif - -/****/ - -#ifdef __sgi - -#include - -static void movie_printerror(char * str) { - const char * errstr = mvGetErrorStr(mvGetErrno()); - - if (str) { - if (errstr) printf("%s: %s\n", str, errstr); - else printf("%s: returned error\n", str); - } else printf("%s\n", errstr); -} - -static int startmovie(struct anim * anim) { - if (anim == 0) return(-1); - - if ( mvOpenFile (anim->name, O_BINARY|O_RDONLY, &anim->movie ) != DM_SUCCESS ) { - printf("Can't open movie: %s\n", anim->name); - return(-1); - } - if ( mvFindTrackByMedium (anim->movie, DM_IMAGE, &anim->track) != DM_SUCCESS ) { - printf("No image track in movie: %s\n", anim->name); - mvClose(anim->movie); - return(-1); - } - - anim->duration = mvGetTrackLength (anim->track); - anim->params = mvGetParams( anim->track ); - - anim->x = dmParamsGetInt( anim->params, DM_IMAGE_WIDTH); - anim->y = dmParamsGetInt( anim->params, DM_IMAGE_HEIGHT); - anim->interlacing = dmParamsGetEnum (anim->params, DM_IMAGE_INTERLACING); - anim->orientation = dmParamsGetEnum (anim->params, DM_IMAGE_ORIENTATION); - anim->framesize = dmImageFrameSize(anim->params); - - anim->curposition = 0; - anim->preseek = 0; - - /*printf("x:%d y:%d size:%d interl:%d dur:%d\n", anim->x, anim->y, anim->framesize, anim->interlacing, anim->duration);*/ - return (0); -} - -static ImBuf * movie_fetchibuf(struct anim * anim, int position) { - ImBuf * ibuf; -/* extern rectcpy(); */ - int size; - unsigned int *rect1, *rect2; - - if (anim == 0) return (0); - - ibuf = IMB_allocImBuf(anim->x, anim->y, 24, IB_rect); - - if ( mvReadFrames(anim->track, position, 1, ibuf->x * ibuf->y * - sizeof(int), ibuf->rect ) != DM_SUCCESS ) { - movie_printerror("mvReadFrames"); - IMB_freeImBuf(ibuf); - return(0); - } - -/* - if (anim->interlacing == DM_IMAGE_INTERLACED_EVEN) { - rect1 = ibuf->rect + (ibuf->x * ibuf->y) - 1; - rect2 = rect1 - ibuf->x; - - for (size = ibuf->x * (ibuf->y - 1); size > 0; size--){ - *rect1-- = *rect2--; - } - } -*/ - - if (anim->interlacing == DM_IMAGE_INTERLACED_EVEN) - { - rect1 = ibuf->rect; - rect2 = rect1 + ibuf->x; - - for (size = ibuf->x * (ibuf->y - 1); size > 0; size--){ - *rect1++ = *rect2++; - } - } - /*if (anim->orientation == DM_TOP_TO_BOTTOM) IMB_flipy(ibuf);*/ - - - return(ibuf); -} - -static void free_anim_movie(struct anim * anim) { - if (anim == NULL) return; - - if (anim->movie) { - mvClose(anim->movie); - anim->movie = NULL; - } - anim->duration = 0; -} - -int ismovie(char *name) { - return (mvIsMovieFile(name) == DM_TRUE); -} - -#else - -int ismovie(char *UNUSED(name)) { - return 0; -} - - /* never called, just keep the linker happy */ -static int startmovie(struct anim *UNUSED(anim)) { return 1; } -static ImBuf * movie_fetchibuf(struct anim *UNUSED(anim), int UNUSED(position)) { return NULL; } -static void free_anim_movie(struct anim *UNUSED(anim)) { ; } - -#endif - -#if defined(_WIN32) -# define PATHSEPERATOR '\\' -#else -# define PATHSEPERATOR '/' -#endif - -static int an_stringdec(const char *string, char* head, char *tail, unsigned short *numlen) { - unsigned short len,nume,nums=0; - short i,found=FALSE; - - len=strlen(string); - nume = len; - - for(i=len-1;i>=0;i--){ - if (string[i]==PATHSEPERATOR) break; - if (isdigit(string[i])) { - if (found){ - nums=i; - } else{ - nume=i; - nums=i; - found=TRUE; - } - } else{ - if (found) break; - } - } - if (found){ - strcpy(tail ,&string[nume+1]); - strcpy(head, string); - head[nums]= '\0'; - *numlen=nume-nums+1; - return ((int)atoi(&(string[nums]))); - } - tail[0]= '\0'; - strcpy(head, string); - *numlen=0; - return TRUE; -} - - -static void an_stringenc(char *string, const char *head, const char *tail, unsigned short numlen, int pic) { - BLI_stringenc(string, head, tail, numlen, pic); -} - -static void free_anim_avi (struct anim *anim) { -#if defined(_WIN32) && !defined(FREE_WINDOWS) - int i; -#endif - - if (anim == NULL) return; - if (anim->avi == NULL) return; - - AVI_close (anim->avi); - MEM_freeN (anim->avi); - anim->avi = NULL; - -#if defined(_WIN32) && !defined(FREE_WINDOWS) - - if (anim->pgf) { - AVIStreamGetFrameClose(anim->pgf); - anim->pgf = NULL; - } - - for (i = 0; i < anim->avistreams; i++){ - AVIStreamRelease(anim->pavi[i]); - } - anim->avistreams = 0; - - if (anim->pfileopen) { - AVIFileRelease(anim->pfile); - anim->pfileopen = 0; - AVIFileExit(); - } -#endif - - anim->duration = 0; -} - -void IMB_free_anim_ibuf(struct anim * anim) { - if (anim == NULL) return; - - if (anim->ibuf1) IMB_freeImBuf(anim->ibuf1); - if (anim->ibuf2) IMB_freeImBuf(anim->ibuf2); - - anim->ibuf1 = anim->ibuf2 = NULL; -} - -#ifdef WITH_FFMPEG -static void free_anim_ffmpeg(struct anim * anim); -#endif -#ifdef WITH_REDCODE -static void free_anim_redcode(struct anim * anim); -#endif - -void IMB_free_anim(struct anim * anim) { - if (anim == NULL) { - printf("free anim, anim == NULL\n"); - return; - } - - IMB_free_anim_ibuf(anim); - free_anim_movie(anim); - free_anim_avi(anim); - -#ifdef WITH_QUICKTIME - free_anim_quicktime(anim); -#endif -#ifdef WITH_FFMPEG - free_anim_ffmpeg(anim); -#endif -#ifdef WITH_REDCODE - free_anim_redcode(anim); -#endif - - MEM_freeN(anim); -} - -void IMB_close_anim(struct anim * anim) { - if (anim == 0) return; - - IMB_free_anim(anim); -} - - -struct anim * IMB_open_anim( const char * name, int ib_flags) { - struct anim * anim; - - anim = (struct anim*)MEM_callocN(sizeof(struct anim), "anim struct"); - if (anim != NULL) { - strcpy(anim->name, name); /* fixme: possible buffer overflow here? */ - anim->ib_flags = ib_flags; - } - return(anim); -} - - -static int startavi (struct anim *anim) { - - AviError avierror; -#if defined(_WIN32) && !defined(FREE_WINDOWS) - HRESULT hr; - int i, firstvideo = -1; - BYTE abFormat[1024]; - LONG l; - LPBITMAPINFOHEADER lpbi; - AVISTREAMINFO avis; -#endif - - anim->avi = MEM_callocN (sizeof(AviMovie),"animavi"); - - if (anim->avi == NULL) { - printf("Can't open avi: %s\n", anim->name); - return -1; - } - - avierror = AVI_open_movie (anim->name, anim->avi); - -#if defined(_WIN32) && !defined(FREE_WINDOWS) - if (avierror == AVI_ERROR_COMPRESSION) { - AVIFileInit(); - hr = AVIFileOpen(&anim->pfile, anim->name, OF_READ, 0L); - if (hr == 0) { - anim->pfileopen = 1; - for (i = 0; i < MAXNUMSTREAMS; i++) { - if (AVIFileGetStream(anim->pfile, &anim->pavi[i], 0L, i) != AVIERR_OK) { - break; - } - - AVIStreamInfo(anim->pavi[i], &avis, sizeof(avis)); - if ((avis.fccType == streamtypeVIDEO) && (firstvideo == -1)) { - anim->pgf = AVIStreamGetFrameOpen(anim->pavi[i], NULL); - if (anim->pgf) { - firstvideo = i; - - // get stream length - anim->avi->header->TotalFrames = AVIStreamLength(anim->pavi[i]); - - // get information about images inside the stream - l = sizeof(abFormat); - AVIStreamReadFormat(anim->pavi[i], 0, &abFormat, &l); - lpbi = (LPBITMAPINFOHEADER)abFormat; - anim->avi->header->Height = lpbi->biHeight; - anim->avi->header->Width = lpbi->biWidth; - } else { - FIXCC(avis.fccHandler); - FIXCC(avis.fccType); - printf("Can't find AVI decoder for type : %4.4hs/%4.4hs\n", - (LPSTR)&avis.fccType, - (LPSTR)&avis.fccHandler); - } - } - } - - // register number of opened avistreams - anim->avistreams = i; - - // - // Couldn't get any video streams out of this file - // - if ((anim->avistreams == 0) || (firstvideo == -1)) { - avierror = AVI_ERROR_FORMAT; - } else { - avierror = AVI_ERROR_NONE; - anim->firstvideo = firstvideo; - } - } else { - AVIFileExit(); - } - } -#endif - - if (avierror != AVI_ERROR_NONE) { - AVI_print_error(avierror); - printf ("Error loading avi: %s\n", anim->name); - free_anim_avi(anim); - return -1; - } - - anim->duration = anim->avi->header->TotalFrames; - anim->params = 0; - - anim->x = anim->avi->header->Width; - anim->y = anim->avi->header->Height; - anim->interlacing = 0; - anim->orientation = 0; - anim->framesize = anim->x * anim->y * 4; - - anim->curposition = 0; - anim->preseek = 0; - - /* printf("x:%d y:%d size:%d interl:%d dur:%d\n", anim->x, anim->y, anim->framesize, anim->interlacing, anim->duration);*/ - - return 0; -} - -static ImBuf * avi_fetchibuf (struct anim *anim, int position) { - ImBuf *ibuf = NULL; - int *tmp; - int y; - - if (anim == NULL) return (NULL); - -#if defined(_WIN32) && !defined(FREE_WINDOWS) - if (anim->avistreams) { - LPBITMAPINFOHEADER lpbi; - - if (anim->pgf) { - lpbi = AVIStreamGetFrame(anim->pgf, position + AVIStreamStart(anim->pavi[anim->firstvideo])); - if (lpbi) { - ibuf = IMB_ibImageFromMemory((unsigned char *) lpbi, 100, IB_rect); -//Oh brother... - } - } - } else { -#else - if (1) { -#endif - ibuf = IMB_allocImBuf (anim->x, anim->y, 24, IB_rect); - - tmp = AVI_read_frame (anim->avi, AVI_FORMAT_RGB32, position, - AVI_get_stream(anim->avi, AVIST_VIDEO, 0)); - - if (tmp == NULL) { - printf ("Error reading frame from AVI"); - IMB_freeImBuf (ibuf); - return NULL; - } - - for (y=0; y < anim->y; y++) { - memcpy (&(ibuf->rect)[((anim->y-y)-1)*anim->x], &tmp[y*anim->x], - anim->x * 4); - } - - MEM_freeN (tmp); - } - - ibuf->profile = IB_PROFILE_SRGB; - - return ibuf; -} - -#ifdef WITH_FFMPEG - -extern void do_init_ffmpeg(); - -#ifdef FFMPEG_CODEC_IS_POINTER -static AVCodecContext* get_codec_from_stream(AVStream* stream) -{ - return stream->codec; -} -#else -static AVCodecContext* get_codec_from_stream(AVStream* stream) -{ - return &stream->codec; -} -#endif - -static int startffmpeg(struct anim * anim) { - int i, videoStream; - - AVCodec *pCodec; - AVFormatContext *pFormatCtx; - AVCodecContext *pCodecCtx; - -#ifdef FFMPEG_SWSCALE_COLOR_SPACE_SUPPORT - /* The following for color space determination */ - int srcRange, dstRange, brightness, contrast, saturation; - int *table; - const int *inv_table; -#endif - - if (anim == 0) return(-1); - - do_init_ffmpeg(); - - if(av_open_input_file(&pFormatCtx, anim->name, NULL, 0, NULL)!=0) { - return -1; - } - - if(av_find_stream_info(pFormatCtx)<0) { - av_close_input_file(pFormatCtx); - return -1; - } - - dump_format(pFormatCtx, 0, anim->name, 0); - - - /* Find the first video stream */ - videoStream=-1; - for(i=0; inb_streams; i++) - if(get_codec_from_stream(pFormatCtx->streams[i])->codec_type - == CODEC_TYPE_VIDEO) { - videoStream=i; - break; - } - - if(videoStream==-1) { - av_close_input_file(pFormatCtx); - return -1; - } - - pCodecCtx = get_codec_from_stream(pFormatCtx->streams[videoStream]); - - /* Find the decoder for the video stream */ - pCodec=avcodec_find_decoder(pCodecCtx->codec_id); - if(pCodec==NULL) { - av_close_input_file(pFormatCtx); - return -1; - } - - pCodecCtx->workaround_bugs = 1; - - if(avcodec_open(pCodecCtx, pCodec)<0) { - av_close_input_file(pFormatCtx); - return -1; - } - -#ifdef FFMPEG_OLD_FRAME_RATE - if(pCodecCtx->frame_rate>1000 && pCodecCtx->frame_rate_base==1) - pCodecCtx->frame_rate_base=1000; - - - anim->duration = pFormatCtx->duration * pCodecCtx->frame_rate - / pCodecCtx->frame_rate_base / AV_TIME_BASE; -#else - anim->duration = ceil(pFormatCtx->duration - * av_q2d(pFormatCtx->streams[videoStream]->r_frame_rate) - / AV_TIME_BASE); - -#endif - anim->params = 0; - - anim->x = pCodecCtx->width; - anim->y = pCodecCtx->height; - anim->interlacing = 0; - anim->orientation = 0; - anim->framesize = anim->x * anim->y * 4; - - anim->curposition = -1; - - anim->pFormatCtx = pFormatCtx; - anim->pCodecCtx = pCodecCtx; - anim->pCodec = pCodec; - anim->videoStream = videoStream; - - anim->pFrame = avcodec_alloc_frame(); - anim->pFrameDeinterlaced = avcodec_alloc_frame(); - anim->pFrameRGB = avcodec_alloc_frame(); - - if (avpicture_get_size(PIX_FMT_RGBA, anim->x, anim->y) - != anim->x * anim->y * 4) { - fprintf (stderr, - "ffmpeg has changed alloc scheme ... ARGHHH!\n"); - avcodec_close(anim->pCodecCtx); - av_close_input_file(anim->pFormatCtx); - av_free(anim->pFrameRGB); - av_free(anim->pFrameDeinterlaced); - av_free(anim->pFrame); - anim->pCodecCtx = NULL; - return -1; - } - - if (anim->ib_flags & IB_animdeinterlace) { - avpicture_fill((AVPicture*) anim->pFrameDeinterlaced, - MEM_callocN(avpicture_get_size( - anim->pCodecCtx->pix_fmt, - anim->x, anim->y), - "ffmpeg deinterlace"), - anim->pCodecCtx->pix_fmt, anim->x, anim->y); - } - - if (pCodecCtx->has_b_frames) { - anim->preseek = 25; /* FIXME: detect gopsize ... */ - } else { - anim->preseek = 0; - } - - anim->img_convert_ctx = sws_getContext( - anim->pCodecCtx->width, - anim->pCodecCtx->height, - anim->pCodecCtx->pix_fmt, - anim->pCodecCtx->width, - anim->pCodecCtx->height, - PIX_FMT_RGBA, - SWS_FAST_BILINEAR | SWS_PRINT_INFO, - NULL, NULL, NULL); - - if (!anim->img_convert_ctx) { - fprintf (stderr, - "Can't transform color space??? Bailing out...\n"); - avcodec_close(anim->pCodecCtx); - av_close_input_file(anim->pFormatCtx); - av_free(anim->pFrameRGB); - av_free(anim->pFrameDeinterlaced); - av_free(anim->pFrame); - anim->pCodecCtx = NULL; - return -1; - } - -#ifdef FFMPEG_SWSCALE_COLOR_SPACE_SUPPORT - /* Try do detect if input has 0-255 YCbCR range (JFIF Jpeg MotionJpeg) */ - if (!sws_getColorspaceDetails(anim->img_convert_ctx, (int**)&inv_table, &srcRange, - &table, &dstRange, &brightness, &contrast, &saturation)) { - - srcRange = srcRange || anim->pCodecCtx->color_range == AVCOL_RANGE_JPEG; - inv_table = sws_getCoefficients(anim->pCodecCtx->colorspace); - - if(sws_setColorspaceDetails(anim->img_convert_ctx, (int *)inv_table, srcRange, - table, dstRange, brightness, contrast, saturation)) { - - printf("Warning: Could not set libswscale colorspace details.\n"); - } - } - else { - printf("Warning: Could not set libswscale colorspace details.\n"); - } -#endif - - return (0); -} - -static void ffmpeg_postprocess(struct anim * anim, ImBuf * ibuf, - int * filter_y) -{ - AVFrame * input = anim->pFrame; - - /* This means the data wasnt read properly, - this check stops crashing */ - if (input->data[0]==0 && input->data[1]==0 - && input->data[2]==0 && input->data[3]==0){ - fprintf(stderr, "ffmpeg_fetchibuf: " - "data not read properly...\n"); - return; - } - - if (anim->ib_flags & IB_animdeinterlace) { - if (avpicture_deinterlace( - (AVPicture*) - anim->pFrameDeinterlaced, - (const AVPicture*) - anim->pFrame, - anim->pCodecCtx->pix_fmt, - anim->pCodecCtx->width, - anim->pCodecCtx->height) - < 0) { - *filter_y = 1; - } else { - input = anim->pFrameDeinterlaced; - } - } - - if (ENDIAN_ORDER == B_ENDIAN) { - int * dstStride = anim->pFrameRGB->linesize; - uint8_t** dst = anim->pFrameRGB->data; - int dstStride2[4] = { dstStride[0], 0, 0, 0 }; - uint8_t* dst2[4] = { dst[0], 0, 0, 0 }; - int x,y,h,w; - unsigned char* bottom; - unsigned char* top; - - sws_scale(anim->img_convert_ctx, - (const uint8_t * const *)input->data, - input->linesize, - 0, - anim->pCodecCtx->height, - dst2, - dstStride2); - - /* workaround: sws_scale bug - sets alpha = 0 and compensate - for altivec-bugs and flipy... */ - - bottom = (unsigned char*) ibuf->rect; - top = bottom + ibuf->x * (ibuf->y-1) * 4; - - h = (ibuf->y + 1) / 2; - w = ibuf->x; - - for (y = 0; y < h; y++) { - unsigned char tmp[4]; - unsigned int * tmp_l = - (unsigned int*) tmp; - tmp[3] = 0xff; - - for (x = 0; x < w; x++) { - tmp[0] = bottom[0]; - tmp[1] = bottom[1]; - tmp[2] = bottom[2]; - - bottom[0] = top[0]; - bottom[1] = top[1]; - bottom[2] = top[2]; - bottom[3] = 0xff; - - *(unsigned int*) top = *tmp_l; - - bottom +=4; - top += 4; - } - top -= 8 * w; - } - } else { - int * dstStride = anim->pFrameRGB->linesize; - uint8_t** dst = anim->pFrameRGB->data; - int dstStride2[4] = { -dstStride[0], 0, 0, 0 }; - uint8_t* dst2[4] = { dst[0] + (anim->y - 1)*dstStride[0], - 0, 0, 0 }; - int i; - unsigned char* r; - - sws_scale(anim->img_convert_ctx, - (const uint8_t * const *)input->data, - input->linesize, - 0, - anim->pCodecCtx->height, - dst2, - dstStride2); - - r = (unsigned char*) ibuf->rect; - - /* workaround sws_scale bug: older version of - sws_scale set alpha = 0... */ - if (r[3] == 0) { - for (i = 0; i < ibuf->x * ibuf->y; i++) { - r[3] = 0xff; - r += 4; - } - } - } -} - -static ImBuf * ffmpeg_fetchibuf(struct anim * anim, int position) { - ImBuf * ibuf; - int frameFinished; - AVPacket packet; - int64_t pts_to_search = 0; - int pos_found = 1; - int filter_y = 0; - int seek_by_bytes= 0; - int preseek_count = 0; - - if (anim == 0) return (0); - - ibuf = IMB_allocImBuf(anim->x, anim->y, 32, IB_rect); - - avpicture_fill((AVPicture*) anim->pFrameRGB, - (unsigned char*) ibuf->rect, - PIX_FMT_RGBA, anim->x, anim->y); - - if (position != anim->curposition + 1) { - if (position > anim->curposition + 1 - && anim->preseek - && position - (anim->curposition + 1) < anim->preseek) { - while(av_read_frame(anim->pFormatCtx, &packet)>=0) { - if (packet.stream_index == anim->videoStream) { - avcodec_decode_video( - anim->pCodecCtx, - anim->pFrame, &frameFinished, - packet.data, packet.size); - - if (frameFinished) { - anim->curposition++; - } - } - av_free_packet(&packet); - if (position == anim->curposition+1) { - break; - } - } - } - } - - seek_by_bytes = !!(anim->pFormatCtx->iformat->flags & AVFMT_TS_DISCONT); - - if (position != anim->curposition + 1) { -#ifdef FFMPEG_OLD_FRAME_RATE - double frame_rate = - (double) anim->pCodecCtx->frame_rate - / (double) anim->pCodecCtx->frame_rate_base; -#else - double frame_rate = - av_q2d(anim->pFormatCtx->streams[anim->videoStream] - ->r_frame_rate); -#endif - double time_base = - av_q2d(anim->pFormatCtx->streams[anim->videoStream] - ->time_base); - long long pos; - long long st_time = anim->pFormatCtx - ->streams[anim->videoStream]->start_time; - int ret; - - if (seek_by_bytes) { - pos = position - anim->preseek; - if (pos < 0) { - pos = 0; - } - preseek_count = position - pos; - - pos *= anim->pFormatCtx->bit_rate / frame_rate; - pos /= 8; - } else { - pos = (long long) (position - anim->preseek) - * AV_TIME_BASE / frame_rate; - if (pos < 0) { - pos = 0; - } - - if (st_time != AV_NOPTS_VALUE) { - pos += st_time * AV_TIME_BASE * time_base; - } - } - - ret = av_seek_frame(anim->pFormatCtx, -1, - pos, - AVSEEK_FLAG_BACKWARD | ( - seek_by_bytes - ? AVSEEK_FLAG_ANY - | AVSEEK_FLAG_BYTE : 0)); - if (ret < 0) { - fprintf(stderr, "error while seeking: %d\n", ret); - } - - pts_to_search = (long long) - (((double) position) / time_base / frame_rate); - if (st_time != AV_NOPTS_VALUE) { - pts_to_search += st_time; - } - - pos_found = 0; - avcodec_flush_buffers(anim->pCodecCtx); - } - - while(av_read_frame(anim->pFormatCtx, &packet)>=0) { - if(packet.stream_index == anim->videoStream) { - avcodec_decode_video(anim->pCodecCtx, - anim->pFrame, &frameFinished, - packet.data, packet.size); - - if (seek_by_bytes && preseek_count > 0) { - preseek_count--; - } - - if (frameFinished && !pos_found) { - if (seek_by_bytes) { - if (!preseek_count) { - pos_found = 1; - anim->curposition = position; - } - } else { - if (packet.dts >= pts_to_search) { - pos_found = 1; - anim->curposition = position; - } - } - } - - if(frameFinished && pos_found == 1) { - ffmpeg_postprocess(anim, ibuf, &filter_y); - av_free_packet(&packet); - break; - } - } - - av_free_packet(&packet); - } - - if (filter_y && ibuf) { - IMB_filtery(ibuf); - } - - ibuf->profile = IB_PROFILE_SRGB; - - return(ibuf); -} - -static void free_anim_ffmpeg(struct anim * anim) { - if (anim == NULL) return; - - if (anim->pCodecCtx) { - avcodec_close(anim->pCodecCtx); - av_close_input_file(anim->pFormatCtx); - av_free(anim->pFrameRGB); - av_free(anim->pFrame); - - if (anim->ib_flags & IB_animdeinterlace) { - MEM_freeN(anim->pFrameDeinterlaced->data[0]); - } - av_free(anim->pFrameDeinterlaced); - sws_freeContext(anim->img_convert_ctx); - } - anim->duration = 0; -} - -#endif - -#ifdef WITH_REDCODE - -static int startredcode(struct anim * anim) { - anim->redcodeCtx = redcode_open(anim->name); - if (!anim->redcodeCtx) { - return -1; - } - anim->duration = redcode_get_length(anim->redcodeCtx); - - return 0; -} - -static ImBuf * redcode_fetchibuf(struct anim * anim, int position) { - struct ImBuf * ibuf; - struct redcode_frame * frame; - struct redcode_frame_raw * raw_frame; - - if (!anim->redcodeCtx) { - return NULL; - } - - frame = redcode_read_video_frame(anim->redcodeCtx, position); - - if (!frame) { - return NULL; - } - - raw_frame = redcode_decode_video_raw(frame, 1); - - redcode_free_frame(frame); - - if (!raw_frame) { - return NULL; - } - - ibuf = IMB_allocImBuf(raw_frame->width * 2, - raw_frame->height * 2, 32, IB_rectfloat); - - redcode_decode_video_float(raw_frame, ibuf->rect_float, 1); - - return ibuf; -} - -static void free_anim_redcode(struct anim * anim) { - if (anim->redcodeCtx) { - redcode_close(anim->redcodeCtx); - anim->redcodeCtx = 0; - } - anim->duration = 0; -} - -#endif - -/* probeer volgende plaatje te lezen */ -/* Geen plaatje, probeer dan volgende animatie te openen */ -/* gelukt, haal dan eerste plaatje van animatie */ - -static struct ImBuf * anim_getnew(struct anim * anim) { - struct ImBuf *ibuf = 0; - - if (anim == NULL) return(0); - - free_anim_movie(anim); - free_anim_avi(anim); -#ifdef WITH_QUICKTIME - free_anim_quicktime(anim); -#endif -#ifdef WITH_FFMPEG - free_anim_ffmpeg(anim); -#endif -#ifdef WITH_REDCODE - free_anim_redcode(anim); -#endif - - - if (anim->curtype != 0) return (0); - anim->curtype = imb_get_anim_type(anim->name); - - switch (anim->curtype) { - case ANIM_SEQUENCE: - ibuf = IMB_loadiffname(anim->name, anim->ib_flags); - if (ibuf) { - strcpy(anim->first, anim->name); - anim->duration = 1; - } - break; - case ANIM_MOVIE: - if (startmovie(anim)) return (0); - ibuf = IMB_allocImBuf (anim->x, anim->y, 24, 0); /* fake */ - break; - case ANIM_AVI: - if (startavi(anim)) { - printf("couldnt start avi\n"); - return (0); - } - ibuf = IMB_allocImBuf (anim->x, anim->y, 24, 0); - break; -#ifdef WITH_QUICKTIME - case ANIM_QTIME: - if (startquicktime(anim)) return (0); - ibuf = IMB_allocImBuf (anim->x, anim->y, 24, 0); - break; -#endif -#ifdef WITH_FFMPEG - case ANIM_FFMPEG: - if (startffmpeg(anim)) return (0); - ibuf = IMB_allocImBuf (anim->x, anim->y, 24, 0); - break; -#endif -#ifdef WITH_REDCODE - case ANIM_REDCODE: - if (startredcode(anim)) return (0); - ibuf = IMB_allocImBuf (8, 8, 32, 0); - break; -#endif - } - return(ibuf); -} - -struct ImBuf * IMB_anim_previewframe(struct anim * anim) { - struct ImBuf * ibuf = 0; - int position = 0; - - ibuf = IMB_anim_absolute(anim, 0); - if (ibuf) { - IMB_freeImBuf(ibuf); - position = anim->duration / 2; - ibuf = IMB_anim_absolute(anim, position); - } - return ibuf; -} - -struct ImBuf * IMB_anim_absolute(struct anim * anim, int position) { - struct ImBuf * ibuf = 0; - char head[256], tail[256]; - unsigned short digits; - int pic; - int filter_y; - if (anim == NULL) return(0); - - filter_y = (anim->ib_flags & IB_animdeinterlace); - - if (anim->curtype == 0) { - ibuf = anim_getnew(anim); - if (ibuf == NULL) { - return (0); - } - - IMB_freeImBuf(ibuf); /* ???? */ - ibuf= NULL; - } - - if (position < 0) return(0); - if (position >= anim->duration) return(0); - - switch(anim->curtype) { - case ANIM_SEQUENCE: - pic = an_stringdec(anim->first, head, tail, &digits); - pic += position; - an_stringenc(anim->name, head, tail, digits, pic); - ibuf = IMB_loadiffname(anim->name, IB_rect); - if (ibuf) { - anim->curposition = position; - } - break; - case ANIM_MOVIE: - ibuf = movie_fetchibuf(anim, position); - if (ibuf) { - anim->curposition = position; - IMB_convert_rgba_to_abgr(ibuf); - ibuf->profile = IB_PROFILE_SRGB; - } - break; - case ANIM_AVI: - ibuf = avi_fetchibuf(anim, position); - if (ibuf) - anim->curposition = position; - break; -#ifdef WITH_QUICKTIME - case ANIM_QTIME: - ibuf = qtime_fetchibuf(anim, position); - if (ibuf) - anim->curposition = position; - break; -#endif -#ifdef WITH_FFMPEG - case ANIM_FFMPEG: - ibuf = ffmpeg_fetchibuf(anim, position); - if (ibuf) - anim->curposition = position; - filter_y = 0; /* done internally */ - break; -#endif -#ifdef WITH_REDCODE - case ANIM_REDCODE: - ibuf = redcode_fetchibuf(anim, position); - if (ibuf) anim->curposition = position; - break; -#endif - } - - if (ibuf) { - if (filter_y) IMB_filtery(ibuf); - sprintf(ibuf->name, "%s.%04d", anim->name, anim->curposition + 1); - - } - return(ibuf); -} - -/***/ - -int IMB_anim_get_duration(struct anim *anim) { - return anim->duration; -} - -void IMB_anim_set_preseek(struct anim * anim, int preseek) -{ - anim->preseek = preseek; -} - -int IMB_anim_get_preseek(struct anim * anim) -{ - return anim->preseek; -} diff --git a/source/blender/imbuf/intern/anim_movie.c b/source/blender/imbuf/intern/anim_movie.c new file mode 100644 index 00000000000..8df0d69bcfa --- /dev/null +++ b/source/blender/imbuf/intern/anim_movie.c @@ -0,0 +1,1189 @@ +/** + * anim.c + * + * $Id$ + * + * ***** BEGIN GPL LICENSE BLOCK ***** + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV. + * All rights reserved. + * + * The Original Code is: all of this file. + * + * Contributor(s): none yet. + * + * ***** END GPL LICENSE BLOCK ***** + */ + +#ifdef _WIN32 +#define INC_OLE2 +#include +#include +#include +#include +#include + +#ifndef FREE_WINDOWS +#include +#endif + +#undef AVIIF_KEYFRAME // redefined in AVI_avi.h +#undef AVIIF_LIST // redefined in AVI_avi.h + +#define FIXCC(fcc) if (fcc == 0) fcc = mmioFOURCC('N', 'o', 'n', 'e'); \ + if (fcc == BI_RLE8) fcc = mmioFOURCC('R', 'l', 'e', '8'); +#endif + +#include +#include +#include +#include +#ifndef _WIN32 +#include +#else +#include +#endif + +#include "BLI_blenlib.h" /* BLI_remlink BLI_filesize BLI_addtail + BLI_countlist BLI_stringdec */ +#include "MEM_guardedalloc.h" + +#include "DNA_userdef_types.h" +#include "BKE_utildefines.h" +#include "BKE_global.h" +#include "BKE_depsgraph.h" + +#include "imbuf.h" + +#include "AVI_avi.h" + +#ifdef WITH_QUICKTIME +#if defined(_WIN32) || defined(__APPLE__) +#include "quicktime_import.h" +#endif /* _WIN32 || __APPLE__ */ +#endif /* WITH_QUICKTIME */ + +#include "IMB_imbuf_types.h" +#include "IMB_imbuf.h" + +#include "IMB_allocimbuf.h" +#include "IMB_anim.h" + +#ifdef WITH_FFMPEG +#include +#include +#include +#include + +#if LIBAVFORMAT_VERSION_INT < (49 << 16) +#define FFMPEG_OLD_FRAME_RATE 1 +#else +#define FFMPEG_CODEC_IS_POINTER 1 +#endif + +#if (LIBAVCODEC_VERSION_MAJOR >= 52) && (LIBAVCODEC_VERSION_MINOR >= 29) && \ + (LIBSWSCALE_VERSION_MAJOR >= 0) && (LIBSWSCALE_VERSION_MINOR >= 10) +#define FFMPEG_SWSCALE_COLOR_SPACE_SUPPORT +#endif + +#endif //WITH_FFMPEG + +#ifdef WITH_REDCODE +#ifdef _WIN32 /* on windows we use the ones in extern instead */ +#include "libredcode/format.h" +#include "libredcode/codec.h" +#else +#include "libredcode/format.h" +#include "libredcode/codec.h" +#endif +#endif + +/****/ + +#ifdef __sgi + +#include + +static void movie_printerror(char * str) { + const char * errstr = mvGetErrorStr(mvGetErrno()); + + if (str) { + if (errstr) printf("%s: %s\n", str, errstr); + else printf("%s: returned error\n", str); + } else printf("%s\n", errstr); +} + +static int startmovie(struct anim * anim) { + if (anim == 0) return(-1); + + if ( mvOpenFile (anim->name, O_BINARY|O_RDONLY, &anim->movie ) != DM_SUCCESS ) { + printf("Can't open movie: %s\n", anim->name); + return(-1); + } + if ( mvFindTrackByMedium (anim->movie, DM_IMAGE, &anim->track) != DM_SUCCESS ) { + printf("No image track in movie: %s\n", anim->name); + mvClose(anim->movie); + return(-1); + } + + anim->duration = mvGetTrackLength (anim->track); + anim->params = mvGetParams( anim->track ); + + anim->x = dmParamsGetInt( anim->params, DM_IMAGE_WIDTH); + anim->y = dmParamsGetInt( anim->params, DM_IMAGE_HEIGHT); + anim->interlacing = dmParamsGetEnum (anim->params, DM_IMAGE_INTERLACING); + anim->orientation = dmParamsGetEnum (anim->params, DM_IMAGE_ORIENTATION); + anim->framesize = dmImageFrameSize(anim->params); + + anim->curposition = 0; + anim->preseek = 0; + + /*printf("x:%d y:%d size:%d interl:%d dur:%d\n", anim->x, anim->y, anim->framesize, anim->interlacing, anim->duration);*/ + return (0); +} + +static ImBuf * movie_fetchibuf(struct anim * anim, int position) { + ImBuf * ibuf; +/* extern rectcpy(); */ + int size; + unsigned int *rect1, *rect2; + + if (anim == 0) return (0); + + ibuf = IMB_allocImBuf(anim->x, anim->y, 24, IB_rect); + + if ( mvReadFrames(anim->track, position, 1, ibuf->x * ibuf->y * + sizeof(int), ibuf->rect ) != DM_SUCCESS ) { + movie_printerror("mvReadFrames"); + IMB_freeImBuf(ibuf); + return(0); + } + +/* + if (anim->interlacing == DM_IMAGE_INTERLACED_EVEN) { + rect1 = ibuf->rect + (ibuf->x * ibuf->y) - 1; + rect2 = rect1 - ibuf->x; + + for (size = ibuf->x * (ibuf->y - 1); size > 0; size--){ + *rect1-- = *rect2--; + } + } +*/ + + if (anim->interlacing == DM_IMAGE_INTERLACED_EVEN) + { + rect1 = ibuf->rect; + rect2 = rect1 + ibuf->x; + + for (size = ibuf->x * (ibuf->y - 1); size > 0; size--){ + *rect1++ = *rect2++; + } + } + /*if (anim->orientation == DM_TOP_TO_BOTTOM) IMB_flipy(ibuf);*/ + + + return(ibuf); +} + +static void free_anim_movie(struct anim * anim) { + if (anim == NULL) return; + + if (anim->movie) { + mvClose(anim->movie); + anim->movie = NULL; + } + anim->duration = 0; +} + +int ismovie(char *name) { + return (mvIsMovieFile(name) == DM_TRUE); +} + +#else + +int ismovie(char *UNUSED(name)) { + return 0; +} + + /* never called, just keep the linker happy */ +static int startmovie(struct anim *UNUSED(anim)) { return 1; } +static ImBuf * movie_fetchibuf(struct anim *UNUSED(anim), int UNUSED(position)) { return NULL; } +static void free_anim_movie(struct anim *UNUSED(anim)) { ; } + +#endif + +#if defined(_WIN32) +# define PATHSEPERATOR '\\' +#else +# define PATHSEPERATOR '/' +#endif + +static int an_stringdec(const char *string, char* head, char *tail, unsigned short *numlen) { + unsigned short len,nume,nums=0; + short i,found=FALSE; + + len=strlen(string); + nume = len; + + for(i=len-1;i>=0;i--){ + if (string[i]==PATHSEPERATOR) break; + if (isdigit(string[i])) { + if (found){ + nums=i; + } else{ + nume=i; + nums=i; + found=TRUE; + } + } else{ + if (found) break; + } + } + if (found){ + strcpy(tail ,&string[nume+1]); + strcpy(head, string); + head[nums]= '\0'; + *numlen=nume-nums+1; + return ((int)atoi(&(string[nums]))); + } + tail[0]= '\0'; + strcpy(head, string); + *numlen=0; + return TRUE; +} + + +static void an_stringenc(char *string, const char *head, const char *tail, unsigned short numlen, int pic) { + BLI_stringenc(string, head, tail, numlen, pic); +} + +static void free_anim_avi (struct anim *anim) { +#if defined(_WIN32) && !defined(FREE_WINDOWS) + int i; +#endif + + if (anim == NULL) return; + if (anim->avi == NULL) return; + + AVI_close (anim->avi); + MEM_freeN (anim->avi); + anim->avi = NULL; + +#if defined(_WIN32) && !defined(FREE_WINDOWS) + + if (anim->pgf) { + AVIStreamGetFrameClose(anim->pgf); + anim->pgf = NULL; + } + + for (i = 0; i < anim->avistreams; i++){ + AVIStreamRelease(anim->pavi[i]); + } + anim->avistreams = 0; + + if (anim->pfileopen) { + AVIFileRelease(anim->pfile); + anim->pfileopen = 0; + AVIFileExit(); + } +#endif + + anim->duration = 0; +} + +void IMB_free_anim_ibuf(struct anim * anim) { + if (anim == NULL) return; + + if (anim->ibuf1) IMB_freeImBuf(anim->ibuf1); + if (anim->ibuf2) IMB_freeImBuf(anim->ibuf2); + + anim->ibuf1 = anim->ibuf2 = NULL; +} + +#ifdef WITH_FFMPEG +static void free_anim_ffmpeg(struct anim * anim); +#endif +#ifdef WITH_REDCODE +static void free_anim_redcode(struct anim * anim); +#endif + +void IMB_free_anim(struct anim * anim) { + if (anim == NULL) { + printf("free anim, anim == NULL\n"); + return; + } + + IMB_free_anim_ibuf(anim); + free_anim_movie(anim); + free_anim_avi(anim); + +#ifdef WITH_QUICKTIME + free_anim_quicktime(anim); +#endif +#ifdef WITH_FFMPEG + free_anim_ffmpeg(anim); +#endif +#ifdef WITH_REDCODE + free_anim_redcode(anim); +#endif + + MEM_freeN(anim); +} + +void IMB_close_anim(struct anim * anim) { + if (anim == 0) return; + + IMB_free_anim(anim); +} + + +struct anim * IMB_open_anim( const char * name, int ib_flags) { + struct anim * anim; + + anim = (struct anim*)MEM_callocN(sizeof(struct anim), "anim struct"); + if (anim != NULL) { + strcpy(anim->name, name); /* fixme: possible buffer overflow here? */ + anim->ib_flags = ib_flags; + } + return(anim); +} + + +static int startavi (struct anim *anim) { + + AviError avierror; +#if defined(_WIN32) && !defined(FREE_WINDOWS) + HRESULT hr; + int i, firstvideo = -1; + BYTE abFormat[1024]; + LONG l; + LPBITMAPINFOHEADER lpbi; + AVISTREAMINFO avis; +#endif + + anim->avi = MEM_callocN (sizeof(AviMovie),"animavi"); + + if (anim->avi == NULL) { + printf("Can't open avi: %s\n", anim->name); + return -1; + } + + avierror = AVI_open_movie (anim->name, anim->avi); + +#if defined(_WIN32) && !defined(FREE_WINDOWS) + if (avierror == AVI_ERROR_COMPRESSION) { + AVIFileInit(); + hr = AVIFileOpen(&anim->pfile, anim->name, OF_READ, 0L); + if (hr == 0) { + anim->pfileopen = 1; + for (i = 0; i < MAXNUMSTREAMS; i++) { + if (AVIFileGetStream(anim->pfile, &anim->pavi[i], 0L, i) != AVIERR_OK) { + break; + } + + AVIStreamInfo(anim->pavi[i], &avis, sizeof(avis)); + if ((avis.fccType == streamtypeVIDEO) && (firstvideo == -1)) { + anim->pgf = AVIStreamGetFrameOpen(anim->pavi[i], NULL); + if (anim->pgf) { + firstvideo = i; + + // get stream length + anim->avi->header->TotalFrames = AVIStreamLength(anim->pavi[i]); + + // get information about images inside the stream + l = sizeof(abFormat); + AVIStreamReadFormat(anim->pavi[i], 0, &abFormat, &l); + lpbi = (LPBITMAPINFOHEADER)abFormat; + anim->avi->header->Height = lpbi->biHeight; + anim->avi->header->Width = lpbi->biWidth; + } else { + FIXCC(avis.fccHandler); + FIXCC(avis.fccType); + printf("Can't find AVI decoder for type : %4.4hs/%4.4hs\n", + (LPSTR)&avis.fccType, + (LPSTR)&avis.fccHandler); + } + } + } + + // register number of opened avistreams + anim->avistreams = i; + + // + // Couldn't get any video streams out of this file + // + if ((anim->avistreams == 0) || (firstvideo == -1)) { + avierror = AVI_ERROR_FORMAT; + } else { + avierror = AVI_ERROR_NONE; + anim->firstvideo = firstvideo; + } + } else { + AVIFileExit(); + } + } +#endif + + if (avierror != AVI_ERROR_NONE) { + AVI_print_error(avierror); + printf ("Error loading avi: %s\n", anim->name); + free_anim_avi(anim); + return -1; + } + + anim->duration = anim->avi->header->TotalFrames; + anim->params = 0; + + anim->x = anim->avi->header->Width; + anim->y = anim->avi->header->Height; + anim->interlacing = 0; + anim->orientation = 0; + anim->framesize = anim->x * anim->y * 4; + + anim->curposition = 0; + anim->preseek = 0; + + /* printf("x:%d y:%d size:%d interl:%d dur:%d\n", anim->x, anim->y, anim->framesize, anim->interlacing, anim->duration);*/ + + return 0; +} + +static ImBuf * avi_fetchibuf (struct anim *anim, int position) { + ImBuf *ibuf = NULL; + int *tmp; + int y; + + if (anim == NULL) return (NULL); + +#if defined(_WIN32) && !defined(FREE_WINDOWS) + if (anim->avistreams) { + LPBITMAPINFOHEADER lpbi; + + if (anim->pgf) { + lpbi = AVIStreamGetFrame(anim->pgf, position + AVIStreamStart(anim->pavi[anim->firstvideo])); + if (lpbi) { + ibuf = IMB_ibImageFromMemory((unsigned char *) lpbi, 100, IB_rect); +//Oh brother... + } + } + } else { +#else + if (1) { +#endif + ibuf = IMB_allocImBuf (anim->x, anim->y, 24, IB_rect); + + tmp = AVI_read_frame (anim->avi, AVI_FORMAT_RGB32, position, + AVI_get_stream(anim->avi, AVIST_VIDEO, 0)); + + if (tmp == NULL) { + printf ("Error reading frame from AVI"); + IMB_freeImBuf (ibuf); + return NULL; + } + + for (y=0; y < anim->y; y++) { + memcpy (&(ibuf->rect)[((anim->y-y)-1)*anim->x], &tmp[y*anim->x], + anim->x * 4); + } + + MEM_freeN (tmp); + } + + ibuf->profile = IB_PROFILE_SRGB; + + return ibuf; +} + +#ifdef WITH_FFMPEG + +extern void do_init_ffmpeg(); + +#ifdef FFMPEG_CODEC_IS_POINTER +static AVCodecContext* get_codec_from_stream(AVStream* stream) +{ + return stream->codec; +} +#else +static AVCodecContext* get_codec_from_stream(AVStream* stream) +{ + return &stream->codec; +} +#endif + +static int startffmpeg(struct anim * anim) { + int i, videoStream; + + AVCodec *pCodec; + AVFormatContext *pFormatCtx; + AVCodecContext *pCodecCtx; + +#ifdef FFMPEG_SWSCALE_COLOR_SPACE_SUPPORT + /* The following for color space determination */ + int srcRange, dstRange, brightness, contrast, saturation; + int *table; + const int *inv_table; +#endif + + if (anim == 0) return(-1); + + do_init_ffmpeg(); + + if(av_open_input_file(&pFormatCtx, anim->name, NULL, 0, NULL)!=0) { + return -1; + } + + if(av_find_stream_info(pFormatCtx)<0) { + av_close_input_file(pFormatCtx); + return -1; + } + + dump_format(pFormatCtx, 0, anim->name, 0); + + + /* Find the first video stream */ + videoStream=-1; + for(i=0; inb_streams; i++) + if(get_codec_from_stream(pFormatCtx->streams[i])->codec_type + == CODEC_TYPE_VIDEO) { + videoStream=i; + break; + } + + if(videoStream==-1) { + av_close_input_file(pFormatCtx); + return -1; + } + + pCodecCtx = get_codec_from_stream(pFormatCtx->streams[videoStream]); + + /* Find the decoder for the video stream */ + pCodec=avcodec_find_decoder(pCodecCtx->codec_id); + if(pCodec==NULL) { + av_close_input_file(pFormatCtx); + return -1; + } + + pCodecCtx->workaround_bugs = 1; + + if(avcodec_open(pCodecCtx, pCodec)<0) { + av_close_input_file(pFormatCtx); + return -1; + } + +#ifdef FFMPEG_OLD_FRAME_RATE + if(pCodecCtx->frame_rate>1000 && pCodecCtx->frame_rate_base==1) + pCodecCtx->frame_rate_base=1000; + + + anim->duration = pFormatCtx->duration * pCodecCtx->frame_rate + / pCodecCtx->frame_rate_base / AV_TIME_BASE; +#else + anim->duration = ceil(pFormatCtx->duration + * av_q2d(pFormatCtx->streams[videoStream]->r_frame_rate) + / AV_TIME_BASE); + +#endif + anim->params = 0; + + anim->x = pCodecCtx->width; + anim->y = pCodecCtx->height; + anim->interlacing = 0; + anim->orientation = 0; + anim->framesize = anim->x * anim->y * 4; + + anim->curposition = -1; + + anim->pFormatCtx = pFormatCtx; + anim->pCodecCtx = pCodecCtx; + anim->pCodec = pCodec; + anim->videoStream = videoStream; + + anim->pFrame = avcodec_alloc_frame(); + anim->pFrameDeinterlaced = avcodec_alloc_frame(); + anim->pFrameRGB = avcodec_alloc_frame(); + + if (avpicture_get_size(PIX_FMT_RGBA, anim->x, anim->y) + != anim->x * anim->y * 4) { + fprintf (stderr, + "ffmpeg has changed alloc scheme ... ARGHHH!\n"); + avcodec_close(anim->pCodecCtx); + av_close_input_file(anim->pFormatCtx); + av_free(anim->pFrameRGB); + av_free(anim->pFrameDeinterlaced); + av_free(anim->pFrame); + anim->pCodecCtx = NULL; + return -1; + } + + if (anim->ib_flags & IB_animdeinterlace) { + avpicture_fill((AVPicture*) anim->pFrameDeinterlaced, + MEM_callocN(avpicture_get_size( + anim->pCodecCtx->pix_fmt, + anim->x, anim->y), + "ffmpeg deinterlace"), + anim->pCodecCtx->pix_fmt, anim->x, anim->y); + } + + if (pCodecCtx->has_b_frames) { + anim->preseek = 25; /* FIXME: detect gopsize ... */ + } else { + anim->preseek = 0; + } + + anim->img_convert_ctx = sws_getContext( + anim->pCodecCtx->width, + anim->pCodecCtx->height, + anim->pCodecCtx->pix_fmt, + anim->pCodecCtx->width, + anim->pCodecCtx->height, + PIX_FMT_RGBA, + SWS_FAST_BILINEAR | SWS_PRINT_INFO, + NULL, NULL, NULL); + + if (!anim->img_convert_ctx) { + fprintf (stderr, + "Can't transform color space??? Bailing out...\n"); + avcodec_close(anim->pCodecCtx); + av_close_input_file(anim->pFormatCtx); + av_free(anim->pFrameRGB); + av_free(anim->pFrameDeinterlaced); + av_free(anim->pFrame); + anim->pCodecCtx = NULL; + return -1; + } + +#ifdef FFMPEG_SWSCALE_COLOR_SPACE_SUPPORT + /* Try do detect if input has 0-255 YCbCR range (JFIF Jpeg MotionJpeg) */ + if (!sws_getColorspaceDetails(anim->img_convert_ctx, (int**)&inv_table, &srcRange, + &table, &dstRange, &brightness, &contrast, &saturation)) { + + srcRange = srcRange || anim->pCodecCtx->color_range == AVCOL_RANGE_JPEG; + inv_table = sws_getCoefficients(anim->pCodecCtx->colorspace); + + if(sws_setColorspaceDetails(anim->img_convert_ctx, (int *)inv_table, srcRange, + table, dstRange, brightness, contrast, saturation)) { + + printf("Warning: Could not set libswscale colorspace details.\n"); + } + } + else { + printf("Warning: Could not set libswscale colorspace details.\n"); + } +#endif + + return (0); +} + +static void ffmpeg_postprocess(struct anim * anim, ImBuf * ibuf, + int * filter_y) +{ + AVFrame * input = anim->pFrame; + + /* This means the data wasnt read properly, + this check stops crashing */ + if (input->data[0]==0 && input->data[1]==0 + && input->data[2]==0 && input->data[3]==0){ + fprintf(stderr, "ffmpeg_fetchibuf: " + "data not read properly...\n"); + return; + } + + if (anim->ib_flags & IB_animdeinterlace) { + if (avpicture_deinterlace( + (AVPicture*) + anim->pFrameDeinterlaced, + (const AVPicture*) + anim->pFrame, + anim->pCodecCtx->pix_fmt, + anim->pCodecCtx->width, + anim->pCodecCtx->height) + < 0) { + *filter_y = 1; + } else { + input = anim->pFrameDeinterlaced; + } + } + + if (ENDIAN_ORDER == B_ENDIAN) { + int * dstStride = anim->pFrameRGB->linesize; + uint8_t** dst = anim->pFrameRGB->data; + int dstStride2[4] = { dstStride[0], 0, 0, 0 }; + uint8_t* dst2[4] = { dst[0], 0, 0, 0 }; + int x,y,h,w; + unsigned char* bottom; + unsigned char* top; + + sws_scale(anim->img_convert_ctx, + (const uint8_t * const *)input->data, + input->linesize, + 0, + anim->pCodecCtx->height, + dst2, + dstStride2); + + /* workaround: sws_scale bug + sets alpha = 0 and compensate + for altivec-bugs and flipy... */ + + bottom = (unsigned char*) ibuf->rect; + top = bottom + ibuf->x * (ibuf->y-1) * 4; + + h = (ibuf->y + 1) / 2; + w = ibuf->x; + + for (y = 0; y < h; y++) { + unsigned char tmp[4]; + unsigned int * tmp_l = + (unsigned int*) tmp; + tmp[3] = 0xff; + + for (x = 0; x < w; x++) { + tmp[0] = bottom[0]; + tmp[1] = bottom[1]; + tmp[2] = bottom[2]; + + bottom[0] = top[0]; + bottom[1] = top[1]; + bottom[2] = top[2]; + bottom[3] = 0xff; + + *(unsigned int*) top = *tmp_l; + + bottom +=4; + top += 4; + } + top -= 8 * w; + } + } else { + int * dstStride = anim->pFrameRGB->linesize; + uint8_t** dst = anim->pFrameRGB->data; + int dstStride2[4] = { -dstStride[0], 0, 0, 0 }; + uint8_t* dst2[4] = { dst[0] + (anim->y - 1)*dstStride[0], + 0, 0, 0 }; + int i; + unsigned char* r; + + sws_scale(anim->img_convert_ctx, + (const uint8_t * const *)input->data, + input->linesize, + 0, + anim->pCodecCtx->height, + dst2, + dstStride2); + + r = (unsigned char*) ibuf->rect; + + /* workaround sws_scale bug: older version of + sws_scale set alpha = 0... */ + if (r[3] == 0) { + for (i = 0; i < ibuf->x * ibuf->y; i++) { + r[3] = 0xff; + r += 4; + } + } + } +} + +static ImBuf * ffmpeg_fetchibuf(struct anim * anim, int position) { + ImBuf * ibuf; + int frameFinished; + AVPacket packet; + int64_t pts_to_search = 0; + int pos_found = 1; + int filter_y = 0; + int seek_by_bytes= 0; + int preseek_count = 0; + + if (anim == 0) return (0); + + ibuf = IMB_allocImBuf(anim->x, anim->y, 32, IB_rect); + + avpicture_fill((AVPicture*) anim->pFrameRGB, + (unsigned char*) ibuf->rect, + PIX_FMT_RGBA, anim->x, anim->y); + + if (position != anim->curposition + 1) { + if (position > anim->curposition + 1 + && anim->preseek + && position - (anim->curposition + 1) < anim->preseek) { + while(av_read_frame(anim->pFormatCtx, &packet)>=0) { + if (packet.stream_index == anim->videoStream) { + avcodec_decode_video( + anim->pCodecCtx, + anim->pFrame, &frameFinished, + packet.data, packet.size); + + if (frameFinished) { + anim->curposition++; + } + } + av_free_packet(&packet); + if (position == anim->curposition+1) { + break; + } + } + } + } + + seek_by_bytes = !!(anim->pFormatCtx->iformat->flags & AVFMT_TS_DISCONT); + + if (position != anim->curposition + 1) { +#ifdef FFMPEG_OLD_FRAME_RATE + double frame_rate = + (double) anim->pCodecCtx->frame_rate + / (double) anim->pCodecCtx->frame_rate_base; +#else + double frame_rate = + av_q2d(anim->pFormatCtx->streams[anim->videoStream] + ->r_frame_rate); +#endif + double time_base = + av_q2d(anim->pFormatCtx->streams[anim->videoStream] + ->time_base); + long long pos; + long long st_time = anim->pFormatCtx + ->streams[anim->videoStream]->start_time; + int ret; + + if (seek_by_bytes) { + pos = position - anim->preseek; + if (pos < 0) { + pos = 0; + } + preseek_count = position - pos; + + pos *= anim->pFormatCtx->bit_rate / frame_rate; + pos /= 8; + } else { + pos = (long long) (position - anim->preseek) + * AV_TIME_BASE / frame_rate; + if (pos < 0) { + pos = 0; + } + + if (st_time != AV_NOPTS_VALUE) { + pos += st_time * AV_TIME_BASE * time_base; + } + } + + ret = av_seek_frame(anim->pFormatCtx, -1, + pos, + AVSEEK_FLAG_BACKWARD | ( + seek_by_bytes + ? AVSEEK_FLAG_ANY + | AVSEEK_FLAG_BYTE : 0)); + if (ret < 0) { + fprintf(stderr, "error while seeking: %d\n", ret); + } + + pts_to_search = (long long) + (((double) position) / time_base / frame_rate); + if (st_time != AV_NOPTS_VALUE) { + pts_to_search += st_time; + } + + pos_found = 0; + avcodec_flush_buffers(anim->pCodecCtx); + } + + while(av_read_frame(anim->pFormatCtx, &packet)>=0) { + if(packet.stream_index == anim->videoStream) { + avcodec_decode_video(anim->pCodecCtx, + anim->pFrame, &frameFinished, + packet.data, packet.size); + + if (seek_by_bytes && preseek_count > 0) { + preseek_count--; + } + + if (frameFinished && !pos_found) { + if (seek_by_bytes) { + if (!preseek_count) { + pos_found = 1; + anim->curposition = position; + } + } else { + if (packet.dts >= pts_to_search) { + pos_found = 1; + anim->curposition = position; + } + } + } + + if(frameFinished && pos_found == 1) { + ffmpeg_postprocess(anim, ibuf, &filter_y); + av_free_packet(&packet); + break; + } + } + + av_free_packet(&packet); + } + + if (filter_y && ibuf) { + IMB_filtery(ibuf); + } + + ibuf->profile = IB_PROFILE_SRGB; + + return(ibuf); +} + +static void free_anim_ffmpeg(struct anim * anim) { + if (anim == NULL) return; + + if (anim->pCodecCtx) { + avcodec_close(anim->pCodecCtx); + av_close_input_file(anim->pFormatCtx); + av_free(anim->pFrameRGB); + av_free(anim->pFrame); + + if (anim->ib_flags & IB_animdeinterlace) { + MEM_freeN(anim->pFrameDeinterlaced->data[0]); + } + av_free(anim->pFrameDeinterlaced); + sws_freeContext(anim->img_convert_ctx); + } + anim->duration = 0; +} + +#endif + +#ifdef WITH_REDCODE + +static int startredcode(struct anim * anim) { + anim->redcodeCtx = redcode_open(anim->name); + if (!anim->redcodeCtx) { + return -1; + } + anim->duration = redcode_get_length(anim->redcodeCtx); + + return 0; +} + +static ImBuf * redcode_fetchibuf(struct anim * anim, int position) { + struct ImBuf * ibuf; + struct redcode_frame * frame; + struct redcode_frame_raw * raw_frame; + + if (!anim->redcodeCtx) { + return NULL; + } + + frame = redcode_read_video_frame(anim->redcodeCtx, position); + + if (!frame) { + return NULL; + } + + raw_frame = redcode_decode_video_raw(frame, 1); + + redcode_free_frame(frame); + + if (!raw_frame) { + return NULL; + } + + ibuf = IMB_allocImBuf(raw_frame->width * 2, + raw_frame->height * 2, 32, IB_rectfloat); + + redcode_decode_video_float(raw_frame, ibuf->rect_float, 1); + + return ibuf; +} + +static void free_anim_redcode(struct anim * anim) { + if (anim->redcodeCtx) { + redcode_close(anim->redcodeCtx); + anim->redcodeCtx = 0; + } + anim->duration = 0; +} + +#endif + +/* probeer volgende plaatje te lezen */ +/* Geen plaatje, probeer dan volgende animatie te openen */ +/* gelukt, haal dan eerste plaatje van animatie */ + +static struct ImBuf * anim_getnew(struct anim * anim) { + struct ImBuf *ibuf = 0; + + if (anim == NULL) return(0); + + free_anim_movie(anim); + free_anim_avi(anim); +#ifdef WITH_QUICKTIME + free_anim_quicktime(anim); +#endif +#ifdef WITH_FFMPEG + free_anim_ffmpeg(anim); +#endif +#ifdef WITH_REDCODE + free_anim_redcode(anim); +#endif + + + if (anim->curtype != 0) return (0); + anim->curtype = imb_get_anim_type(anim->name); + + switch (anim->curtype) { + case ANIM_SEQUENCE: + ibuf = IMB_loadiffname(anim->name, anim->ib_flags); + if (ibuf) { + strcpy(anim->first, anim->name); + anim->duration = 1; + } + break; + case ANIM_MOVIE: + if (startmovie(anim)) return (0); + ibuf = IMB_allocImBuf (anim->x, anim->y, 24, 0); /* fake */ + break; + case ANIM_AVI: + if (startavi(anim)) { + printf("couldnt start avi\n"); + return (0); + } + ibuf = IMB_allocImBuf (anim->x, anim->y, 24, 0); + break; +#ifdef WITH_QUICKTIME + case ANIM_QTIME: + if (startquicktime(anim)) return (0); + ibuf = IMB_allocImBuf (anim->x, anim->y, 24, 0); + break; +#endif +#ifdef WITH_FFMPEG + case ANIM_FFMPEG: + if (startffmpeg(anim)) return (0); + ibuf = IMB_allocImBuf (anim->x, anim->y, 24, 0); + break; +#endif +#ifdef WITH_REDCODE + case ANIM_REDCODE: + if (startredcode(anim)) return (0); + ibuf = IMB_allocImBuf (8, 8, 32, 0); + break; +#endif + } + return(ibuf); +} + +struct ImBuf * IMB_anim_previewframe(struct anim * anim) { + struct ImBuf * ibuf = 0; + int position = 0; + + ibuf = IMB_anim_absolute(anim, 0); + if (ibuf) { + IMB_freeImBuf(ibuf); + position = anim->duration / 2; + ibuf = IMB_anim_absolute(anim, position); + } + return ibuf; +} + +struct ImBuf * IMB_anim_absolute(struct anim * anim, int position) { + struct ImBuf * ibuf = 0; + char head[256], tail[256]; + unsigned short digits; + int pic; + int filter_y; + if (anim == NULL) return(0); + + filter_y = (anim->ib_flags & IB_animdeinterlace); + + if (anim->curtype == 0) { + ibuf = anim_getnew(anim); + if (ibuf == NULL) { + return (0); + } + + IMB_freeImBuf(ibuf); /* ???? */ + ibuf= NULL; + } + + if (position < 0) return(0); + if (position >= anim->duration) return(0); + + switch(anim->curtype) { + case ANIM_SEQUENCE: + pic = an_stringdec(anim->first, head, tail, &digits); + pic += position; + an_stringenc(anim->name, head, tail, digits, pic); + ibuf = IMB_loadiffname(anim->name, IB_rect); + if (ibuf) { + anim->curposition = position; + } + break; + case ANIM_MOVIE: + ibuf = movie_fetchibuf(anim, position); + if (ibuf) { + anim->curposition = position; + IMB_convert_rgba_to_abgr(ibuf); + ibuf->profile = IB_PROFILE_SRGB; + } + break; + case ANIM_AVI: + ibuf = avi_fetchibuf(anim, position); + if (ibuf) + anim->curposition = position; + break; +#ifdef WITH_QUICKTIME + case ANIM_QTIME: + ibuf = qtime_fetchibuf(anim, position); + if (ibuf) + anim->curposition = position; + break; +#endif +#ifdef WITH_FFMPEG + case ANIM_FFMPEG: + ibuf = ffmpeg_fetchibuf(anim, position); + if (ibuf) + anim->curposition = position; + filter_y = 0; /* done internally */ + break; +#endif +#ifdef WITH_REDCODE + case ANIM_REDCODE: + ibuf = redcode_fetchibuf(anim, position); + if (ibuf) anim->curposition = position; + break; +#endif + } + + if (ibuf) { + if (filter_y) IMB_filtery(ibuf); + sprintf(ibuf->name, "%s.%04d", anim->name, anim->curposition + 1); + + } + return(ibuf); +} + +/***/ + +int IMB_anim_get_duration(struct anim *anim) { + return anim->duration; +} + +void IMB_anim_set_preseek(struct anim * anim, int preseek) +{ + anim->preseek = preseek; +} + +int IMB_anim_get_preseek(struct anim * anim) +{ + return anim->preseek; +} -- cgit v1.2.3 From 5f2764d84929bd20787e8ee356689f24a24a5210 Mon Sep 17 00:00:00 2001 From: Janne Karhu Date: Tue, 19 Oct 2010 11:51:31 +0000 Subject: Fix for [#24299] Changing Curves on rendered Pass scewes pass up seriously ;-) * The number of pass channels wasn't taken properly into account when applying curves. --- source/blender/blenkernel/intern/colortools.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/blender/blenkernel/intern/colortools.c b/source/blender/blenkernel/intern/colortools.c index 83ed65a1bf2..2d4e0ac8c08 100644 --- a/source/blender/blenkernel/intern/colortools.c +++ b/source/blender/blenkernel/intern/colortools.c @@ -869,7 +869,7 @@ void curvemapping_do_ibuf(CurveMapping *cumap, ImBuf *ibuf) if(ibuf->channels) stride= ibuf->channels; - for(pixel= ibuf->x*ibuf->y; pixel>0; pixel--, pix_in+=stride, pix_out+=4) { + for(pixel= ibuf->x*ibuf->y; pixel>0; pixel--, pix_in+=stride, pix_out+=stride) { if(stride<3) { col[0]= curvemap_evaluateF(cumap->cm, *pix_in); -- cgit v1.2.3 From d1fe2dd9676eceab9ece337cb478c312d3c5c1aa Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Tue, 19 Oct 2010 12:21:57 +0000 Subject: bugfix [#24309] Reloading file with incorrect path location. the cu->ctime was never set if the frame wasnt changed, so adding a curve and parenting could be done without a frame change leaving the cu->ctime value at zero. changing the frame or rendering after this would make the parent relationship jump. Set the curve->ctime in object_handle_update(), this way its set on file load and when linking in new curves. Another option is to do this when parenting but probably this would miss other cases where its needed. --- source/blender/blenkernel/intern/object.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/source/blender/blenkernel/intern/object.c b/source/blender/blenkernel/intern/object.c index 142e41918dd..1d7d5b6e243 100644 --- a/source/blender/blenkernel/intern/object.c +++ b/source/blender/blenkernel/intern/object.c @@ -2560,6 +2560,12 @@ void object_handle_update(Scene *scene, Object *ob) makeDispListMBall(scene, ob); } else if(ELEM3(ob->type, OB_CURVE, OB_SURF, OB_FONT)) { + if(ob->type==OB_CURVE) { + /* cu->ctime is set on frame change but this is not enough when + * adding new curves, appending etc. This assignment could be moved + * but this ensures its always set esp before parenting: [#24309] */ + ((Curve *)ob->data)->ctime= ctime; + } makeDispListCurveTypes(scene, ob, 0); } else if(ELEM(ob->type, OB_CAMERA, OB_LAMP)) { -- cgit v1.2.3 From dc7e1037d42304282d58359116fa0e261037fff6 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Tue, 19 Oct 2010 13:04:40 +0000 Subject: [#24307] 3d Viewport Mini 3D Axis changes color when alter 3d grid theme color Drawing the view axis went to a lot of trouble to create a color which didnt look very good if the grid had a color other then grey set. Simplify the function and just use the same colors as the manipulator, also use 2px fixed line width. --- source/blender/editors/interface/resources.c | 2 - source/blender/editors/space_view3d/view3d_draw.c | 83 +++++++++-------------- 2 files changed, 32 insertions(+), 53 deletions(-) diff --git a/source/blender/editors/interface/resources.c b/source/blender/editors/interface/resources.c index c250cdb1284..b6fa0916443 100644 --- a/source/blender/editors/interface/resources.c +++ b/source/blender/editors/interface/resources.c @@ -956,13 +956,11 @@ void UI_make_axis_color(char *src_col, char *dst_col, char axis) switch(axis) { case 'x': - case 'X': dst_col[0]= src_col[0]>219?255:src_col[0]+36; dst_col[1]= src_col[1]<26?0:src_col[1]-26; dst_col[2]= src_col[2]<26?0:src_col[2]-26; break; case 'y': - case 'Y': dst_col[0]= src_col[0]<46?0:src_col[0]-36; dst_col[1]= src_col[1]>189?255:src_col[1]+66; dst_col[2]= src_col[2]<46?0:src_col[2]-36; diff --git a/source/blender/editors/space_view3d/view3d_draw.c b/source/blender/editors/space_view3d/view3d_draw.c index 67c2a4f1c56..1d18f484ae0 100644 --- a/source/blender/editors/space_view3d/view3d_draw.c +++ b/source/blender/editors/space_view3d/view3d_draw.c @@ -571,93 +571,74 @@ static void drawcursor(Scene *scene, ARegion *ar, View3D *v3d) } } -/* Draw a live substitute of the view icon, which is always shown */ +/* Draw a live substitute of the view icon, which is always shown + * colors copied from transform_manipulator.c, we should keep these matching. */ static void draw_view_axis(RegionView3D *rv3d) { const float k = U.rvisize; /* axis size */ const float toll = 0.5; /* used to see when view is quasi-orthogonal */ const float start = k + 1.0; /* axis center in screen coordinates, x=y */ float ydisp = 0.0; /* vertical displacement to allow obj info text */ - - /* rvibright ranges approx. from original axis icon color to gizmo color */ - float bright = U.rvibright / 15.0f; - - unsigned char col[3]; - unsigned char gridcol[3]; - float colf[3]; - - float vec[4]; + + float vec[3]; float dx, dy; - float h, s, v; /* thickness of lines is proportional to k */ - /* (log(k)-1) gives a more suitable thickness, but fps decreased by about 3 fps */ - glLineWidth(k / 10); - //glLineWidth(log(k)-1); // a bit slow - - UI_GetThemeColor3ubv(TH_GRID, (char *)gridcol); - + glLineWidth(2); + /* X */ - vec[0] = vec[3] = 1; + vec[0] = 1; vec[1] = vec[2] = 0; mul_qt_v3(rv3d->viewquat, vec); - - UI_make_axis_color((char *)gridcol, (char *)col, 'x'); - rgb_to_hsv(col[0]/255.0f, col[1]/255.0f, col[2]/255.0f, &h, &s, &v); - s = s<0.5 ? s+0.5 : 1.0; - v = 0.3; - v = (v<1.0-(bright) ? v+bright : 1.0); - hsv_to_rgb(h, s, v, colf, colf+1, colf+2); - glColor3fv(colf); - dx = vec[0] * k; dy = vec[1] * k; - fdrawline(start, start + ydisp, start + dx, start + dy + ydisp); + + glColor3ub(220, 0, 0); + glBegin(GL_LINES); + glVertex2f(start, start + ydisp); + glVertex2f(start + dx, start + dy + ydisp); + glEnd(); + if (fabs(dx) > toll || fabs(dy) > toll) { BLF_draw_default(start + dx + 2, start + dy + ydisp + 2, 0.0f, "x"); } /* Y */ - vec[1] = vec[3] = 1; + vec[1] = 1; vec[0] = vec[2] = 0; mul_qt_v3(rv3d->viewquat, vec); - - UI_make_axis_color((char *)gridcol, (char *)col, 'y'); - rgb_to_hsv(col[0]/255.0f, col[1]/255.0f, col[2]/255.0f, &h, &s, &v); - s = s<0.5 ? s+0.5 : 1.0; - v = 0.3; - v = (v<1.0-(bright) ? v+bright : 1.0); - hsv_to_rgb(h, s, v, colf, colf+1, colf+2); - glColor3fv(colf); - dx = vec[0] * k; dy = vec[1] * k; - fdrawline(start, start + ydisp, start + dx, start + dy + ydisp); + + glColor3ub(0, 220, 0); + glBegin(GL_LINES); + glVertex2f(start, start + ydisp); + glVertex2f(start + dx, start + dy + ydisp); + glEnd(); + if (fabs(dx) > toll || fabs(dy) > toll) { BLF_draw_default(start + dx + 2, start + dy + ydisp + 2, 0.0f, "y"); } /* Z */ - vec[2] = vec[3] = 1; + vec[2] = 1; vec[1] = vec[0] = 0; mul_qt_v3(rv3d->viewquat, vec); - - UI_make_axis_color((char *)gridcol, (char *)col, 'z'); - rgb_to_hsv(col[0]/255.0f, col[1]/255.0f, col[2]/255.0f, &h, &s, &v); - s = s<0.5 ? s+0.5 : 1.0; - v = 0.5; - v = (v<1.0-(bright) ? v+bright : 1.0); - hsv_to_rgb(h, s, v, colf, colf+1, colf+2); - glColor3fv(colf); - dx = vec[0] * k; dy = vec[1] * k; - fdrawline(start, start + ydisp, start + dx, start + dy + ydisp); + + glColor3ub(30, 30, 220); + glBegin(GL_LINES); + glVertex2f(start, start + ydisp); + glVertex2f(start + dx, start + dy + ydisp); + glEnd(); + if (fabs(dx) > toll || fabs(dy) > toll) { BLF_draw_default(start + dx + 2, start + dy + ydisp + 2, 0.0f, "z"); } - + /* restore line-width */ + glLineWidth(1.0); } -- cgit v1.2.3 From 26249043e61376ad1ab997685684757bb77b9711 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Tue, 19 Oct 2010 14:11:46 +0000 Subject: bugfix [#24324] Wrong center for scaling Bezier Curve's handles slight change to how transform calculates the center of each bezier handle selection. - selecting both handles but not the knot now uses the mid point between the 2, before it used the handle. - selecting 1 handle of a curve was still setting td->center to be the knot, now use the handles location only if its selected. --- source/blender/editors/transform/transform_conversions.c | 4 ++-- source/blender/editors/transform/transform_manipulator.c | 8 ++------ 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/source/blender/editors/transform/transform_conversions.c b/source/blender/editors/transform/transform_conversions.c index 7e74d12941b..5b1813559bb 100644 --- a/source/blender/editors/transform/transform_conversions.c +++ b/source/blender/editors/transform/transform_conversions.c @@ -1403,7 +1403,7 @@ static void createTransCurveVerts(bContext *C, TransInfo *t) ) { VECCOPY(td->iloc, bezt->vec[0]); td->loc= bezt->vec[0]; - VECCOPY(td->center, bezt->vec[1]); + VECCOPY(td->center, bezt->vec[(hide_handles || bezt->f2 & SELECT) ? 1:0]); if (hide_handles) { if(bezt->f2 & SELECT) td->flag= TD_SELECTED; else td->flag= 0; @@ -1462,7 +1462,7 @@ static void createTransCurveVerts(bContext *C, TransInfo *t) ) { VECCOPY(td->iloc, bezt->vec[2]); td->loc= bezt->vec[2]; - VECCOPY(td->center, bezt->vec[1]); + VECCOPY(td->center, bezt->vec[(hide_handles || bezt->f2 & SELECT) ? 1:2]); if (hide_handles) { if(bezt->f2 & SELECT) td->flag= TD_SELECTED; else td->flag= 0; diff --git a/source/blender/editors/transform/transform_manipulator.c b/source/blender/editors/transform/transform_manipulator.c index 030ad190dc3..f3afd5793bc 100644 --- a/source/blender/editors/transform/transform_manipulator.c +++ b/source/blender/editors/transform/transform_manipulator.c @@ -308,7 +308,7 @@ int calc_manipulator_stats(const bContext *C) while(a--) { /* exceptions * if handles are hidden then only check the center points. - * If 2 or more are selected then only use the center point too. + * If the center knot is selected then only use this as the center point. */ if (cu->drawflag & CU_HIDE_HANDLES) { if (bezt->f2 & SELECT) { @@ -316,7 +316,7 @@ int calc_manipulator_stats(const bContext *C) totsel++; } } - else if ( (bezt->f1 & SELECT) + (bezt->f2 & SELECT) + (bezt->f3 & SELECT) > SELECT ) { + else if (bezt->f2 & SELECT) { calc_tw_center(scene, bezt->vec[1]); totsel++; } @@ -325,10 +325,6 @@ int calc_manipulator_stats(const bContext *C) calc_tw_center(scene, bezt->vec[0]); totsel++; } - if(bezt->f2) { - calc_tw_center(scene, bezt->vec[1]); - totsel++; - } if(bezt->f3) { calc_tw_center(scene, bezt->vec[2]); totsel++; -- cgit v1.2.3 From 0a12a9bc7dd38979410156187472f25e5164e1f0 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Tue, 19 Oct 2010 15:35:46 +0000 Subject: [#24325] Texture painting using selected faces mask draw a subtle grey over unselected faces rather then coloring selected faces which got in the way of seeing the colors while painting. --- source/blender/editors/space_view3d/drawmesh.c | 38 +++++++++++++++++++------- 1 file changed, 28 insertions(+), 10 deletions(-) diff --git a/source/blender/editors/space_view3d/drawmesh.c b/source/blender/editors/space_view3d/drawmesh.c index 0df2888f4a0..f9af8bd5e79 100644 --- a/source/blender/editors/space_view3d/drawmesh.c +++ b/source/blender/editors/space_view3d/drawmesh.c @@ -168,6 +168,7 @@ static int draw_tfaces3D__setSelectOpts(void *userData, int index) return flags & eEdge_Select; } +#if 0 static int draw_tfaces3D__setActiveOpts(void *userData, int index) { struct { Mesh *me; EdgeHash *eh; } *data = userData; @@ -191,8 +192,21 @@ static int draw_tfaces3D__drawFaceOpts(void *userData, int index) else return 0; } +#endif -static void draw_tfaces3D(RegionView3D *rv3d, Mesh *me, DerivedMesh *dm) +/* draws unselected */ +static int draw_tfaces3D__drawFaceOptsInv(void *userData, int index) +{ + Mesh *me = (Mesh*)userData; + + MFace *mface = &me->mface[index]; + if (!(mface->flag&ME_HIDE) && !(mface->flag&ME_FACE_SEL)) + return 2; /* Don't set color */ + else + return 0; +} + +static void draw_tfaces3D(RegionView3D *rv3d, Mesh *me, DerivedMesh *dm, short draw_seams) { struct { Mesh *me; EdgeHash *eh; } data; @@ -203,17 +217,17 @@ static void draw_tfaces3D(RegionView3D *rv3d, Mesh *me, DerivedMesh *dm) glDisable(GL_LIGHTING); bglPolygonOffset(rv3d->dist, 1.0); - /* Draw (Hidden) Edges */ + /* Draw (Hidden) Edges */ + setlinestyle(1); UI_ThemeColor(TH_EDGE_FACESEL); dm->drawMappedEdges(dm, draw_tfaces3D__setHiddenOpts, &data); + setlinestyle(0); - /* Draw Seams */ - if(me->drawflag & ME_DRAWSEAMS) { + /* Draw Seams */ + if(draw_seams && me->drawflag & ME_DRAWSEAMS) { UI_ThemeColor(TH_EDGE_SEAM); glLineWidth(2); - dm->drawMappedEdges(dm, draw_tfaces3D__setSeamOpts, &data); - glLineWidth(1); } @@ -221,10 +235,16 @@ static void draw_tfaces3D(RegionView3D *rv3d, Mesh *me, DerivedMesh *dm) if(me->drawflag & ME_DRAWFACES) { glEnable(GL_BLEND); glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); +#if 0 UI_ThemeColor4(TH_FACE_SELECT); dm->drawMappedFacesTex(dm, draw_tfaces3D__drawFaceOpts, (void*)me); - +#else + /* dull unselected faces so as not to get in the way of seeing color */ + glColor4ub(96, 96, 96, 64); + dm->drawMappedFacesTex(dm, draw_tfaces3D__drawFaceOptsInv, (void*)me); +#endif + glDisable(GL_BLEND); } @@ -236,8 +256,6 @@ static void draw_tfaces3D(RegionView3D *rv3d, Mesh *me, DerivedMesh *dm) dm->drawMappedEdges(dm, draw_tfaces3D__setSelectOpts, &data); setlinestyle(0); - dm->drawMappedEdges(dm, draw_tfaces3D__setActiveOpts, &data); - bglPolygonOffset(rv3d->dist, 0.0); // resets correctly now, even after calling accumulated offsets BLI_edgehash_free(data.eh, NULL); @@ -671,7 +689,7 @@ void draw_mesh_textured(Scene *scene, View3D *v3d, RegionView3D *rv3d, Object *o /* draw edges and selected faces over textured mesh */ if(!(ob == scene->obedit) && faceselect) - draw_tfaces3D(rv3d, me, dm); + draw_tfaces3D(rv3d, me, dm, ob->mode & OB_MODE_WEIGHT_PAINT); /* reset from negative scale correction */ glFrontFace(GL_CCW); -- cgit v1.2.3 From 94aa87dd62eb147c9d68627c020856cd46dc9cf2 Mon Sep 17 00:00:00 2001 From: Janne Karhu Date: Tue, 19 Oct 2010 16:10:30 +0000 Subject: Fix for [#24293] Shadow pass is wrong * The problem is that shadow pass is derived from the diffuse pass as shad = shad'/diff, where shad' = shad*diff. In cases where diff is 0 and the division can't be done shad is left as shad' (=0). * This all works just fine until the diffuse color is 0 on just one channel (no red in material color for example). In this case the shadow pass is left as 0 too regardless of the existence of an actual shadow, so the end result is a colored shadow! * The only real solution is to use the original shadow intensity to determine if there actually is a shadow or not. This is now stored in shr->shad[3] from the lamp shadow calculation. Note: The best solution would probably be to calculate the shadow pass on it's own and not to derive it from the diffuse pass, but I didn't dare to start messing up the shading code totally. --- source/blender/render/extern/include/RE_shader_ext.h | 2 +- source/blender/render/intern/source/shadeoutput.c | 10 +++++++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/source/blender/render/extern/include/RE_shader_ext.h b/source/blender/render/extern/include/RE_shader_ext.h index 6cab4a7ce03..71ce269fce6 100644 --- a/source/blender/render/extern/include/RE_shader_ext.h +++ b/source/blender/render/extern/include/RE_shader_ext.h @@ -52,7 +52,7 @@ typedef struct ShadeResult float emit[3]; float diff[3]; /* no ramps, shadow, etc */ float spec[3]; - float shad[3]; + float shad[4]; /* shad[3] is shadow intensity */ float ao[3]; float env[3]; float indirect[3]; diff --git a/source/blender/render/intern/source/shadeoutput.c b/source/blender/render/intern/source/shadeoutput.c index 4142522e003..bced6dc7544 100644 --- a/source/blender/render/intern/source/shadeoutput.c +++ b/source/blender/render/intern/source/shadeoutput.c @@ -1396,6 +1396,7 @@ static void shade_one_light(LampRen *lar, ShadeInput *shi, ShadeResult *shr, int } i*= shadfac[3]; + shr->shad[3] = shadfac[3]; /* store this for possible check in troublesome cases */ } } } @@ -1730,10 +1731,17 @@ void shade_lamp_loop(ShadeInput *shi, ShadeResult *shr) VECCOPY(shr->combined, shr->diff); /* calculate shadow pass, we use a multiplication mask */ - if(passflag & SCE_PASS_SHADOW) { + /* if diff = 0,0,0 it doesn't matter what the shadow pass is, so leave it as is */ + if(passflag & SCE_PASS_SHADOW && !(shr->diff[0]==0.0f && shr->diff[1]==0.0f && shr->diff[2]==0.0f)) { if(shr->diff[0]!=0.0f) shr->shad[0]= shr->shad[0]/shr->diff[0]; + /* can't determine proper shadow from shad/diff (0/0), so use shadow intensity */ + else if(shr->shad[0]==0.0f) shr->shad[0]= shr->shad[3]; + if(shr->diff[1]!=0.0f) shr->shad[1]= shr->shad[1]/shr->diff[1]; + else if(shr->shad[1]==0.0f) shr->shad[1]= shr->shad[3]; + if(shr->diff[2]!=0.0f) shr->shad[2]= shr->shad[2]/shr->diff[2]; + else if(shr->shad[2]==0.0f) shr->shad[2]= shr->shad[3]; } /* exposure correction */ -- cgit v1.2.3 From fdfc09b49eb5b445e047dbc27bfb5abde470a665 Mon Sep 17 00:00:00 2001 From: Janne Karhu Date: Tue, 19 Oct 2010 17:45:19 +0000 Subject: Fix for [#24262] Segmentation attempting to render *NEED MOER INFO* --- source/blender/blenloader/intern/readfile.c | 1 + 1 file changed, 1 insertion(+) diff --git a/source/blender/blenloader/intern/readfile.c b/source/blender/blenloader/intern/readfile.c index b6515863c2b..35348a3cd07 100644 --- a/source/blender/blenloader/intern/readfile.c +++ b/source/blender/blenloader/intern/readfile.c @@ -3141,6 +3141,7 @@ static void direct_link_particlesystems(FileData *fd, ListBase *particles) psys->childcachebufs.first = psys->childcachebufs.last = NULL; psys->frand = NULL; psys->pdd = NULL; + psys->renderdata = NULL; direct_link_pointcache_list(fd, &psys->ptcaches, &psys->pointcache); -- cgit v1.2.3 From 56f89d2375dc9f2fe4de9bfbce876cc4bb466008 Mon Sep 17 00:00:00 2001 From: Andrea Weikert Date: Tue, 19 Oct 2010 18:59:15 +0000 Subject: compile fixes on windows for quicktime. * solved two "'blah' undefined, assuming extern returning int" 'warnings' that jesterKing now changed to be reported as errors (thanks! :)) --- source/blender/quicktime/apple/quicktime_export.c | 4 +++- source/blender/quicktime/apple/quicktime_import.c | 1 + 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/source/blender/quicktime/apple/quicktime_export.c b/source/blender/quicktime/apple/quicktime_export.c index 2623a598d5f..362f17ee945 100644 --- a/source/blender/quicktime/apple/quicktime_export.c +++ b/source/blender/quicktime/apple/quicktime_export.c @@ -621,7 +621,9 @@ void end_qt(void) { //printf("Finished QuickTime movie.\n"); } - ExitMoviesOnThread(); +#ifdef __APPLE__ + ExitMoviesOnThread(); +#endif if(qtexport) { MEM_freeN(qtexport); diff --git a/source/blender/quicktime/apple/quicktime_import.c b/source/blender/quicktime/apple/quicktime_import.c index 699b2c4f6e3..917a75772ce 100644 --- a/source/blender/quicktime/apple/quicktime_import.c +++ b/source/blender/quicktime/apple/quicktime_import.c @@ -48,6 +48,7 @@ #include #include #include +#include #endif /* _WIN32 */ -- cgit v1.2.3 From b741740ffabd0170415845354d5f8e3fdf657f1f Mon Sep 17 00:00:00 2001 From: Nathan Letwory Date: Tue, 19 Oct 2010 22:17:34 +0000 Subject: Fix [#21294] Bad object drawing and crash when rendering Reported and patched by Shane Ambler. Took the opportunity to silence warnings in readfile.c. For Windows in SCons I enabled /WX for blenloader. This means that all enabled warnings will throw errors from now on. --- source/blender/blenloader/SConscript | 5 +- source/blender/blenloader/intern/readfile.c | 86 ++++++++++++++++------------- 2 files changed, 52 insertions(+), 39 deletions(-) diff --git a/source/blender/blenloader/SConscript b/source/blender/blenloader/SConscript index 88d345290e5..bab08c89b57 100644 --- a/source/blender/blenloader/SConscript +++ b/source/blender/blenloader/SConscript @@ -11,4 +11,7 @@ incs += ' ' + env['BF_ZLIB_INC'] defs = [] -env.BlenderLib ( 'bf_blenloader', sources, Split(incs), defs, libtype=['core','player'], priority = [167,30] ) +if env['OURPLATFORM'] in ('win32-vc', 'win64-vc'): + env.BlenderLib ( 'bf_blenloader', sources, Split(incs), defs, libtype=['core','player'], priority = [167,30], cc_compileflags=['/WX'] ) +else: + env.BlenderLib ( 'bf_blenloader', sources, Split(incs), defs, libtype=['core','player'], priority = [167,30] ) diff --git a/source/blender/blenloader/intern/readfile.c b/source/blender/blenloader/intern/readfile.c index 35348a3cd07..c40448aab19 100644 --- a/source/blender/blenloader/intern/readfile.c +++ b/source/blender/blenloader/intern/readfile.c @@ -831,8 +831,8 @@ static int fd_read_gzip_from_file(FileData *filedata, void *buffer, unsigned int static int fd_read_from_memory(FileData *filedata, void *buffer, unsigned int size) { - // don't read more bytes then there are available in the buffer - int readsize = MIN2(size, filedata->buffersize - filedata->seek); + // don't read more bytes then there are available in the buffer + int readsize = (int)MIN2(size, (unsigned int)(filedata->buffersize - filedata->seek)); memcpy(buffer, filedata->buffer + filedata->seek, readsize); filedata->seek += readsize; @@ -3252,10 +3252,21 @@ static void direct_link_mdisps(FileData *fd, int count, MDisps *mdisps, int exte for(i = 0; i < count; ++i) { mdisps[i].disps = newdataadr(fd, mdisps[i].disps); + + if( (fd->flags & FD_FLAGS_SWITCH_ENDIAN) && (mdisps[i].disps) ) { + /* DNA_struct_switch_endian doesn't do endian swap for (*disps)[] */ + /* this does swap for data written at write_mdisps() - readfile.c */ + int x; + float *tmpdisps= *mdisps[i].disps; + for(x=0;xfirst; con; con=con->next) { if(con->type==CONSTRAINT_TYPE_RIGIDBODYJOINT) { bRigidBodyJointConstraint *data = con->data; - data->axX *= M_PI/180.0; - data->axY *= M_PI/180.0; - data->axZ *= M_PI/180.0; + data->axX *= (float)(M_PI/180.0); + data->axY *= (float)(M_PI/180.0); + data->axZ *= (float)(M_PI/180.0); } else if(con->type==CONSTRAINT_TYPE_KINEMATIC) { bKinematicConstraint *data = con->data; - data->poleangle *= M_PI/180.0; + data->poleangle *= (float)(M_PI/180.0); } else if(con->type==CONSTRAINT_TYPE_ROTLIMIT) { bRotLimitConstraint *data = con->data; - data->xmin *= M_PI/180.0; - data->xmax *= M_PI/180.0; - data->ymin *= M_PI/180.0; - data->ymax *= M_PI/180.0; - data->zmin *= M_PI/180.0; - data->zmax *= M_PI/180.0; + data->xmin *= (float)(M_PI/180.0); + data->xmax *= (float)(M_PI/180.0); + data->ymin *= (float)(M_PI/180.0); + data->ymax *= (float)(M_PI/180.0); + data->zmin *= (float)(M_PI/180.0); + data->zmax *= (float)(M_PI/180.0); } } } @@ -9546,7 +9557,7 @@ static void do_versions(FileData *fd, Library *lib, Main *main) /* Adjustments needed after Bullets update */ for(ob = main->object.first; ob; ob= ob->id.next) { ob->damping *= 0.635f; - ob->rdamping = 0.1 + (0.8f * ob->rdamping); + ob->rdamping = 0.1f + (0.8f * ob->rdamping); } } @@ -9626,8 +9637,7 @@ static void do_versions(FileData *fd, Library *lib, Main *main) seq->strip->proxy->size = sce->r.size; } else { - seq->strip->proxy->size - = 25.0; + seq->strip->proxy->size = 25; } seq->strip->proxy->quality =90; } @@ -10077,14 +10087,14 @@ static void do_versions(FileData *fd, Library *lib, Main *main) for(sce= main->scene.first; sce; sce= sce->id.next) { - if(sce->audio.main == 0.0) - sce->audio.main = 1.0; + if(sce->audio.main == 0.0f) + sce->audio.main = 1.0f; sce->r.ffcodecdata.audio_mixrate = sce->audio.mixrate; sce->r.ffcodecdata.audio_volume = sce->audio.main; - sce->audio.distance_model = 2.0; - sce->audio.doppler_factor = 1.0; - sce->audio.speed_of_sound = 343.3; + sce->audio.distance_model = 2; + sce->audio.doppler_factor = 1.0f; + sce->audio.speed_of_sound = 343.3f; } /* Add default gravity to scenes */ @@ -10110,11 +10120,11 @@ static void do_versions(FileData *fd, Library *lib, Main *main) for(md= ob->modifiers.first; md; md= md->next) { ClothModifierData *clmd = (ClothModifierData *)modifiers_findByType(ob, eModifierType_Cloth); if(clmd) - clmd->sim_parms->effector_weights->global_gravity = clmd->sim_parms->gravity[2]/-9.81; + clmd->sim_parms->effector_weights->global_gravity = clmd->sim_parms->gravity[2]/-9.81f; } if(ob->soft) - ob->soft->effector_weights->global_gravity = ob->soft->grav/9.81; + ob->soft->effector_weights->global_gravity = ob->soft->grav/9.81f; } /* Normal wind shape is plane */ @@ -10499,7 +10509,7 @@ static void do_versions(FileData *fd, Library *lib, Main *main) /* game engine changes */ for(sce = main->scene.first; sce; sce = sce->id.next) { - sce->gm.eyeseparation = 0.10; + sce->gm.eyeseparation = 0.10f; } /* anim viz changes */ @@ -10604,12 +10614,12 @@ static void do_versions(FileData *fd, Library *lib, Main *main) if (ob->pose) { for (pchan=ob->pose->chanbase.first; pchan; pchan=pchan->next) { - pchan->limitmin[0] *= M_PI/180.0; - pchan->limitmin[1] *= M_PI/180.0; - pchan->limitmin[2] *= M_PI/180.0; - pchan->limitmax[0] *= M_PI/180.0; - pchan->limitmax[1] *= M_PI/180.0; - pchan->limitmax[2] *= M_PI/180.0; + pchan->limitmin[0] *= (float)(M_PI/180.0); + pchan->limitmin[1] *= (float)(M_PI/180.0); + pchan->limitmin[2] *= (float)(M_PI/180.0); + pchan->limitmax[0] *= (float)(M_PI/180.0); + pchan->limitmax[1] *= (float)(M_PI/180.0); + pchan->limitmax[2] *= (float)(M_PI/180.0); do_version_constraints_radians_degrees_250(&pchan->constraints); } @@ -10708,7 +10718,7 @@ static void do_versions(FileData *fd, Library *lib, Main *main) int a; for(a=0; abrush[a].strength /= 100.0; + pset->brush[a].strength /= 100.0f; } for(ma = main->mat.first; ma; ma=ma->id.next) @@ -10989,7 +10999,7 @@ static void do_versions(FileData *fd, Library *lib, Main *main) // bad radius if (brush->unprojected_radius == 0) - brush->unprojected_radius = 0.125; + brush->unprojected_radius = 0.125f; // unusable size if (brush->size == 0) @@ -11031,18 +11041,18 @@ static void do_versions(FileData *fd, Library *lib, Main *main) brush->add_col[1] == 0 && brush->add_col[2] == 0) { - brush->add_col[0] = 1.00; - brush->add_col[1] = 0.39; - brush->add_col[2] = 0.39; + brush->add_col[0] = 1.00f; + brush->add_col[1] = 0.39f; + brush->add_col[2] = 0.39f; } if (brush->sub_col[0] == 0 && brush->sub_col[1] == 0 && brush->sub_col[2] == 0) { - brush->sub_col[0] = 0.39; - brush->sub_col[1] = 0.39; - brush->sub_col[2] = 1.00; + brush->sub_col[0] = 0.39f; + brush->sub_col[1] = 0.39f; + brush->sub_col[2] = 1.00f; } } } -- cgit v1.2.3 From e12f950d25327b5df911fe0128a3f3f5d873446d Mon Sep 17 00:00:00 2001 From: Nicholas Bishop Date: Wed, 20 Oct 2010 00:42:19 +0000 Subject: == Paint == Fixed bug #24239, "Fkey doesn't work in image paint unless also in 3D texture paint" * Fixed brush cursor not showing when painting in the image editor without 3d texture painting enabled * Fixed fkey not working when not in 3d texture paint Note: This does not handle showing the brush cursor when reloading a file saved with image painting on but 3d texture painting off. The method used for object paint modes doesn't apply quite the same here, so I left that alone for now. --- source/blender/editors/include/ED_image.h | 4 ++++ source/blender/editors/sculpt_paint/paint_image.c | 21 ++++++++++++++++++--- source/blender/editors/sculpt_paint/paint_ops.c | 3 +++ source/blender/makesrna/intern/rna_space.c | 2 ++ 4 files changed, 27 insertions(+), 3 deletions(-) diff --git a/source/blender/editors/include/ED_image.h b/source/blender/editors/include/ED_image.h index 1d674112b8d..c5f0983f494 100644 --- a/source/blender/editors/include/ED_image.h +++ b/source/blender/editors/include/ED_image.h @@ -32,7 +32,9 @@ struct SpaceImage; struct bContext; struct Image; struct ImageUser; +struct ToolSettings; struct uiBlock; +struct wmWindowManager; /* space_image.c, exported for transform */ struct Image *ED_space_image(struct SpaceImage *sima); @@ -47,6 +49,8 @@ void ED_space_image_aspect(struct SpaceImage *sima, float *aspx, float *aspy); void ED_space_image_zoom(struct SpaceImage *sima, struct ARegion *ar, float *zoomx, float *zoomy); void ED_space_image_uv_aspect(struct SpaceImage *sima, float *aspx, float *aspy); +void ED_space_image_paint_update(struct wmWindowManager *wm, struct ToolSettings *settings); + void ED_image_size(struct Image *ima, int *width, int *height); void ED_image_aspect(struct Image *ima, float *aspx, float *aspy); void ED_image_uv_aspect(struct Image *ima, float *aspx, float *aspy); diff --git a/source/blender/editors/sculpt_paint/paint_image.c b/source/blender/editors/sculpt_paint/paint_image.c index 71754c3589a..a5b5baad4c5 100644 --- a/source/blender/editors/sculpt_paint/paint_image.c +++ b/source/blender/editors/sculpt_paint/paint_image.c @@ -4961,23 +4961,38 @@ static void toggle_paint_cursor(bContext *C, int enable) settings->imapaint.paintcursor= WM_paint_cursor_activate(CTX_wm_manager(C), image_paint_poll, brush_drawcursor, NULL); } +/* enable the paint cursor if it isn't already. + + purpose is to make sure the paint cursor is shown if paint + mode is enabled in the image editor. the paint poll will + ensure that the cursor is hidden when not in paint mode */ +void ED_space_image_paint_update(wmWindowManager *wm, ToolSettings *settings) +{ + ImagePaintSettings *imapaint = &settings->imapaint; + + if(!imapaint->paintcursor) { + imapaint->paintcursor = + WM_paint_cursor_activate(wm, image_paint_poll, + brush_drawcursor, NULL); + } +} + /* ************ image paint radial control *************/ static int paint_radial_control_invoke(bContext *C, wmOperator *op, wmEvent *event) { float zoom; ToolSettings *ts = CTX_data_scene(C)->toolsettings; get_imapaint_zoom(C, &zoom, &zoom); - toggle_paint_cursor(C, !ts->imapaint.paintcursor); + toggle_paint_cursor(C, 0); brush_radial_control_invoke(op, paint_brush(&ts->imapaint.paint), zoom); return WM_radial_control_invoke(C, op, event); } static int paint_radial_control_modal(bContext *C, wmOperator *op, wmEvent *event) { - ToolSettings *ts = CTX_data_scene(C)->toolsettings; int ret = WM_radial_control_modal(C, op, event); if(ret != OPERATOR_RUNNING_MODAL) - toggle_paint_cursor(C, !ts->imapaint.paintcursor); + toggle_paint_cursor(C, 1); return ret; } diff --git a/source/blender/editors/sculpt_paint/paint_ops.c b/source/blender/editors/sculpt_paint/paint_ops.c index 2e0338b370e..6f246692987 100644 --- a/source/blender/editors/sculpt_paint/paint_ops.c +++ b/source/blender/editors/sculpt_paint/paint_ops.c @@ -428,6 +428,9 @@ void ED_keymap_paint(wmKeyConfig *keyconf) keymap= WM_keymap_find(keyconf, "Image Paint", 0, 0); keymap->poll= image_texture_paint_poll; + RNA_enum_set(WM_keymap_add_item(keymap, "PAINT_OT_image_paint_radial_control", FKEY, KM_PRESS, 0, 0)->ptr, "mode", WM_RADIALCONTROL_SIZE); + RNA_enum_set(WM_keymap_add_item(keymap, "PAINT_OT_image_paint_radial_control", FKEY, KM_PRESS, KM_SHIFT, 0)->ptr, "mode", WM_RADIALCONTROL_STRENGTH); + RNA_enum_set(WM_keymap_add_item(keymap, "PAINT_OT_texture_paint_radial_control", FKEY, KM_PRESS, 0, 0)->ptr, "mode", WM_RADIALCONTROL_SIZE); RNA_enum_set(WM_keymap_add_item(keymap, "PAINT_OT_texture_paint_radial_control", FKEY, KM_PRESS, KM_SHIFT, 0)->ptr, "mode", WM_RADIALCONTROL_STRENGTH); diff --git a/source/blender/makesrna/intern/rna_space.c b/source/blender/makesrna/intern/rna_space.c index d4dec9277a1..70ccd4f8a6e 100644 --- a/source/blender/makesrna/intern/rna_space.c +++ b/source/blender/makesrna/intern/rna_space.c @@ -373,6 +373,8 @@ static PointerRNA rna_SpaceImageEditor_uvedit_get(PointerRNA *ptr) static void rna_SpaceImageEditor_paint_update(Main *bmain, Scene *scene, PointerRNA *ptr) { paint_init(&scene->toolsettings->imapaint.paint, PAINT_CURSOR_TEXTURE_PAINT); + + ED_space_image_paint_update(bmain->wm.first, scene->toolsettings); } static int rna_SpaceImageEditor_show_render_get(PointerRNA *ptr) -- cgit v1.2.3 From 7110a4a288bed770ce03534e4508e05e7e1e2d78 Mon Sep 17 00:00:00 2001 From: Nicholas Bishop Date: Wed, 20 Oct 2010 01:17:18 +0000 Subject: == Sculpt == Fixed bug #22634, sculpting/multires and wireframe display mode glitches * Changed ccgdm edge drawing to always use face griddata rather than edge data, since edge data is not updated during sculpting. --- source/blender/blenkernel/intern/subsurf_ccg.c | 73 +++++++++++--------------- 1 file changed, 32 insertions(+), 41 deletions(-) diff --git a/source/blender/blenkernel/intern/subsurf_ccg.c b/source/blender/blenkernel/intern/subsurf_ccg.c index 26bd981db4a..4b810059464 100644 --- a/source/blender/blenkernel/intern/subsurf_ccg.c +++ b/source/blender/blenkernel/intern/subsurf_ccg.c @@ -1146,71 +1146,62 @@ static void ccgDM_drawVerts(DerivedMesh *dm) { ccgFaceIterator_free(fi); glEnd(); } + static void ccgDM_drawEdges(DerivedMesh *dm, int drawLooseEdges, int UNUSED(drawAllEdges)) { CCGDerivedMesh *ccgdm = (CCGDerivedMesh*) dm; CCGSubSurf *ss = ccgdm->ss; - CCGEdgeIterator *ei = ccgSubSurf_getEdgeIterator(ss); CCGFaceIterator *fi = ccgSubSurf_getFaceIterator(ss); - int i, edgeSize = ccgSubSurf_getEdgeSize(ss); int gridSize = ccgSubSurf_getGridSize(ss); + int start, end, step; int useAging; ccgSubSurf_getUseAgeCounts(ss, &useAging, NULL, NULL, NULL); - for (; !ccgEdgeIterator_isStopped(ei); ccgEdgeIterator_next(ei)) { - CCGEdge *e = ccgEdgeIterator_getCurrent(ei); - DMGridData *edgeData = ccgSubSurf_getEdgeDataArray(ss, e); - - if (!drawLooseEdges && !ccgSubSurf_getEdgeNumFaces(e)) - continue; - - if (useAging && !(G.f&G_BACKBUFSEL)) { - int ageCol = 255-ccgSubSurf_getEdgeAge(ss, e)*4; - glColor3ub(0, ageCol>0?ageCol:0, 0); - } - - glBegin(GL_LINE_STRIP); - for (i=0; idrawInteriorEdges) + return; if (useAging && !(G.f&G_BACKBUFSEL)) { glColor3ub(0, 0, 0); } - if (ccgdm->drawInteriorEdges) { - for (; !ccgFaceIterator_isStopped(fi); ccgFaceIterator_next(fi)) { - CCGFace *f = ccgFaceIterator_getCurrent(fi); - int S, x, y, numVerts = ccgSubSurf_getFaceNumVerts(f); + if(drawLooseEdges) { + start = 0; + end = gridSize; + step = gridSize - 1; + } + else if(ccgdm->drawInteriorEdges) { + start = 1; + end = gridSize - 1; + step = 1; + } + + if(drawLooseEdges && ccgdm->drawInteriorEdges) + step = 1; - for (S=0; S Date: Wed, 20 Oct 2010 02:47:53 +0000 Subject: stubs.c update for revision 32607, which introduced the BLC ED_space_image_paint_update(). --- source/blenderplayer/bad_level_call_stubs/stubs.c | 1 + 1 file changed, 1 insertion(+) diff --git a/source/blenderplayer/bad_level_call_stubs/stubs.c b/source/blenderplayer/bad_level_call_stubs/stubs.c index 5fa09cebf29..ace58791d74 100644 --- a/source/blenderplayer/bad_level_call_stubs/stubs.c +++ b/source/blenderplayer/bad_level_call_stubs/stubs.c @@ -174,6 +174,7 @@ int ED_pose_channel_in_IK_chain(struct Object *ob, struct bPoseChannel *pchan){r int ED_space_image_show_uvedit(struct SpaceImage *sima, struct Object *obedit){return 0;} int ED_space_image_show_render(struct SpaceImage *sima){return 0;} int ED_space_image_show_paint(struct SpaceImage *sima){return 0;} +void ED_space_image_paint_update(struct wmWindowManager *wm, struct ToolSettings *settings){} void ED_space_image_set(struct bContext *C, struct SpaceImage *sima, struct Scene *scene, struct Object *obedit, struct Image *ima){} struct ImBuf *ED_space_image_buffer(struct SpaceImage *sima){return (struct ImBuf *) NULL;} void ED_screen_set_scene(struct bContext *C, struct Scene *scene){} -- cgit v1.2.3 From c2aa5d6dc01dbc42ef9815bdbe8917b6164bf840 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Wed, 20 Oct 2010 04:12:01 +0000 Subject: bugfix [#24333] Horizon Color Picker Crashes Blender if Two 3D View Windows are Open also added api function ED_area_tag_redraw_regiontype(), so an area can redraw all regions by type. In this case there is a view3d area listener that needs to draw all WINDOW regions. --- source/blender/editors/include/ED_screen.h | 1 + source/blender/editors/object/object_relations.c | 1 + source/blender/editors/screen/area.c | 13 ++++ source/blender/editors/space_view3d/space_view3d.c | 84 +++++++++++----------- 4 files changed, 59 insertions(+), 40 deletions(-) diff --git a/source/blender/editors/include/ED_screen.h b/source/blender/editors/include/ED_screen.h index 62243a0e53e..8b8bb75b8e6 100644 --- a/source/blender/editors/include/ED_screen.h +++ b/source/blender/editors/include/ED_screen.h @@ -78,6 +78,7 @@ void ED_area_exit(struct bContext *C, struct ScrArea *sa); int ED_screen_area_active(const struct bContext *C); void ED_area_do_listen(ScrArea *sa, struct wmNotifier *note); void ED_area_tag_redraw(ScrArea *sa); +void ED_area_tag_redraw_regiontype(ScrArea *sa, int type); void ED_area_tag_refresh(ScrArea *sa); void ED_area_do_refresh(struct bContext *C, ScrArea *sa); void ED_area_headerprint(ScrArea *sa, char *str); diff --git a/source/blender/editors/object/object_relations.c b/source/blender/editors/object/object_relations.c index 14f88c6d99e..d92aeb13547 100644 --- a/source/blender/editors/object/object_relations.c +++ b/source/blender/editors/object/object_relations.c @@ -668,6 +668,7 @@ static int parent_set_exec(bContext *C, wmOperator *op) DAG_scene_sort(bmain, scene); DAG_ids_flush_update(bmain, 0); WM_event_add_notifier(C, NC_OBJECT|ND_TRANSFORM, NULL); + WM_event_add_notifier(C, NC_OBJECT|ND_PARENT, NULL); return OPERATOR_FINISHED; } diff --git a/source/blender/editors/screen/area.c b/source/blender/editors/screen/area.c index ae1388fb7f2..7838fbdd5f4 100644 --- a/source/blender/editors/screen/area.c +++ b/source/blender/editors/screen/area.c @@ -405,6 +405,19 @@ void ED_area_tag_redraw(ScrArea *sa) ED_region_tag_redraw(ar); } +void ED_area_tag_redraw_regiontype(ScrArea *sa, int regiontype) +{ + ARegion *ar; + + if(sa) { + for(ar= sa->regionbase.first; ar; ar= ar->next) { + if(ar->regiontype == regiontype) { + ED_region_tag_redraw(ar); + } + } + } +} + void ED_area_tag_refresh(ScrArea *sa) { if(sa) diff --git a/source/blender/editors/space_view3d/space_view3d.c b/source/blender/editors/space_view3d/space_view3d.c index c1a07914b77..77f6e63e860 100644 --- a/source/blender/editors/space_view3d/space_view3d.c +++ b/source/blender/editors/space_view3d/space_view3d.c @@ -559,25 +559,9 @@ static void view3d_recalc_used_layers(ARegion *ar, wmNotifier *wmn, Scene *scene } } -static View3D *view3d_from_wmn(ARegion *ar, wmNotifier *wmn) -{ - wmWindow *win= wmn->wm->winactive; - ScrArea *sa; - - for(sa= win->screen->areabase.first; sa; sa= sa->next) { - if(sa->spacetype == SPACE_VIEW3D) - if(BLI_findindex(&sa->regionbase, ar) != -1) { - return (View3D *)sa->spacedata.first; - } - } - - return NULL; -} - static void view3d_main_area_listener(ARegion *ar, wmNotifier *wmn) { bScreen *sc; - View3D *v3d; /* context changes */ switch(wmn->category) { @@ -615,9 +599,7 @@ static void view3d_main_area_listener(ARegion *ar, wmNotifier *wmn) ED_region_tag_redraw(ar); break; case ND_WORLD: - v3d= view3d_from_wmn(ar, wmn); - if(v3d->flag2 & V3D_RENDER_OVERRIDE) - ED_region_tag_redraw(ar); + /* handled by space_view3d_listener() for v3d access */ break; } if (wmn->action == NA_EDITED) @@ -669,9 +651,7 @@ static void view3d_main_area_listener(ARegion *ar, wmNotifier *wmn) case NC_WORLD: switch(wmn->data) { case ND_WORLD_DRAW: - v3d= view3d_from_wmn(ar, wmn); - if(v3d->flag2 & V3D_RENDER_OVERRIDE) - ED_region_tag_redraw(ar); + /* handled by space_view3d_listener() for v3d access */ break; } break; @@ -910,6 +890,47 @@ static void view3d_props_area_listener(ARegion *ar, wmNotifier *wmn) } } +/*area (not region) level listener*/ +void space_view3d_listener(struct ScrArea *sa, struct wmNotifier *wmn) +{ + View3D *v3d = sa->spacedata.first; + + /* context changes */ + switch(wmn->category) { + case NC_SCENE: + switch(wmn->data) { + case ND_WORLD: + if(v3d->flag2 & V3D_RENDER_OVERRIDE) + ED_area_tag_redraw_regiontype(sa, RGN_TYPE_WINDOW); + break; + } + break; + case NC_WORLD: + switch(wmn->data) { + case ND_WORLD_DRAW: + if(v3d->flag2 & V3D_RENDER_OVERRIDE) + ED_area_tag_redraw_regiontype(sa, RGN_TYPE_WINDOW); + break; + } + break; + + } + +#if 0 // removed since BKE_image_user_calc_frame is now called in draw_bgpic because screen_ops doesnt call the notifier. + if (wmn->category == NC_SCENE && wmn->data == ND_FRAME) { + View3D *v3d = area->spacedata.first; + BGpic *bgpic = v3d->bgpicbase.first; + + for (; bgpic; bgpic = bgpic->next) { + if (bgpic->ima) { + Scene *scene = wmn->reference; + BKE_image_user_calc_frame(&bgpic->iuser, scene->r.cfra, 0); + } + } + } +#endif +} + static int view3d_context(const bContext *C, const char *member, bContextDataResult *result) { View3D *v3d= CTX_wm_view3d(C); @@ -1012,23 +1033,6 @@ static int view3d_context(const bContext *C, const char *member, bContextDataRes return -1; /* found but not available */ } -/*area (not region) level listener*/ -#if 0 // removed since BKE_image_user_calc_frame is now called in draw_bgpic because screen_ops doesnt call the notifier. -void space_view3d_listener(struct ScrArea *area, struct wmNotifier *wmn) -{ - if (wmn->category == NC_SCENE && wmn->data == ND_FRAME) { - View3D *v3d = area->spacedata.first; - BGpic *bgpic = v3d->bgpicbase.first; - - for (; bgpic; bgpic = bgpic->next) { - if (bgpic->ima) { - Scene *scene = wmn->reference; - BKE_image_user_calc_frame(&bgpic->iuser, scene->r.cfra, 0); - } - } - } -} -#endif /* only called once, from space/spacetypes.c */ void ED_spacetype_view3d(void) @@ -1042,7 +1046,7 @@ void ED_spacetype_view3d(void) st->new= view3d_new; st->free= view3d_free; st->init= view3d_init; -// st->listener = space_view3d_listener; + st->listener = space_view3d_listener; st->duplicate= view3d_duplicate; st->operatortypes= view3d_operatortypes; st->keymap= view3d_keymap; -- cgit v1.2.3 From a044486d7d8faf3acc32d7c1d6dbf505c03e3631 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Wed, 20 Oct 2010 09:18:55 +0000 Subject: [#24267] Hook fails after Solidify Solidify modifier wasn't assigning origindex values. - BLI_math.h array functions: range_vni(), mul_vn_fl(), mul_vn_vn_fl(), add_vn_vn(), fill_vni(). - define 'AT' as __FILE__ ":" STRINGIFY(__LINE__), useful for quick debug prints. --- source/blender/blenkernel/BKE_utildefines.h | 2 ++ source/blender/blenkernel/intern/DerivedMesh.c | 10 ++---- source/blender/blenkernel/intern/cdderivedmesh.c | 2 ++ source/blender/blenlib/BLI_math_vector.h | 8 +++++ source/blender/blenlib/intern/math_vector.c | 40 ++++++++++++++++++++++++ source/blender/editors/render/render_opengl.c | 15 ++------- source/blender/modifiers/intern/MOD_solidify.c | 21 +++++++++++-- 7 files changed, 77 insertions(+), 21 deletions(-) diff --git a/source/blender/blenkernel/BKE_utildefines.h b/source/blender/blenkernel/BKE_utildefines.h index 8359bfdb01b..83dcde26233 100644 --- a/source/blender/blenkernel/BKE_utildefines.h +++ b/source/blender/blenkernel/BKE_utildefines.h @@ -44,6 +44,8 @@ #define STRINGIFY_ARG(x) #x #define STRINGIFY(x) STRINGIFY_ARG(x) +/* useful for debugging */ +#define AT __FILE__ ":" STRINGIFY(__LINE__) #ifdef __GNUC__ diff --git a/source/blender/blenkernel/intern/DerivedMesh.c b/source/blender/blenkernel/intern/DerivedMesh.c index 2e8922dec1b..c213a5a4ce2 100644 --- a/source/blender/blenkernel/intern/DerivedMesh.c +++ b/source/blender/blenkernel/intern/DerivedMesh.c @@ -1840,17 +1840,13 @@ static void mesh_calc_modifiers(Scene *scene, Object *ob, float (*inputVertexCos /* constructive modifiers need to have an origindex * otherwise they wont have anywhere to copy the data from */ if(needMapping) { - int *index, i; DM_add_vert_layer(dm, CD_ORIGINDEX, CD_CALLOC, NULL); DM_add_edge_layer(dm, CD_ORIGINDEX, CD_CALLOC, NULL); DM_add_face_layer(dm, CD_ORIGINDEX, CD_CALLOC, NULL); - index = DM_get_vert_data_layer(dm, CD_ORIGINDEX); - for(i=0; inumVertData; i++) *index++= i; - index = DM_get_edge_data_layer(dm, CD_ORIGINDEX); - for(i=0; inumEdgeData; i++) *index++= i; - index = DM_get_face_data_layer(dm, CD_ORIGINDEX); - for(i=0; inumFaceData; i++) *index++= i; + range_vni(DM_get_vert_data_layer(dm, CD_ORIGINDEX), dm->numVertData, 0); + range_vni(DM_get_edge_data_layer(dm, CD_ORIGINDEX), dm->numEdgeData, 0); + range_vni(DM_get_face_data_layer(dm, CD_ORIGINDEX), dm->numFaceData, 0); } } diff --git a/source/blender/blenkernel/intern/cdderivedmesh.c b/source/blender/blenkernel/intern/cdderivedmesh.c index eb895d62f17..20987e15c4d 100644 --- a/source/blender/blenkernel/intern/cdderivedmesh.c +++ b/source/blender/blenkernel/intern/cdderivedmesh.c @@ -1686,6 +1686,8 @@ DerivedMesh *CDDM_copy(DerivedMesh *source) return dm; } +/* note, the CD_ORIGINDEX layers are all 0, so if there is a direct + * relationship betwen mesh data this needs to be set by the caller. */ DerivedMesh *CDDM_from_template(DerivedMesh *source, int numVerts, int numEdges, int numFaces) { diff --git a/source/blender/blenlib/BLI_math_vector.h b/source/blender/blenlib/BLI_math_vector.h index 5c17ac6b639..93d463e17ea 100644 --- a/source/blender/blenlib/BLI_math_vector.h +++ b/source/blender/blenlib/BLI_math_vector.h @@ -165,6 +165,14 @@ MINLINE void normal_float_to_short_v3(short r[3], const float n[3]); void minmax_v3v3_v3(float min[3], float max[3], const float vec[3]); +/***************************** Array Functions *******************************/ +/* attempted to follow fixed length vertex functions. names could be improved*/ +void range_vni(int *array, const int size, const int start); +void mul_vn_fl(float *array, int size, const float f); +void mul_vn_vn_fl(float *array_tar, const float *array_src, int size, const float f); +void add_vn_vn(float *array_tar, const float *array_src, const int size); +void fill_vni(int *array_tar, const int size, const int val); + #ifdef __cplusplus } #endif diff --git a/source/blender/blenlib/intern/math_vector.c b/source/blender/blenlib/intern/math_vector.c index e3cb5b37470..35476a8aba9 100644 --- a/source/blender/blenlib/intern/math_vector.c +++ b/source/blender/blenlib/intern/math_vector.c @@ -354,3 +354,43 @@ void minmax_v3v3_v3(float min[3], float max[3], const float vec[3]) if(max[2]persmat' */ ED_view3d_draw_offscreen(scene, v3d, ar, sizex, sizey, NULL, winmat); @@ -171,19 +170,11 @@ static void screen_opengl_render_apply(OGLRender *oglrender) ED_view3d_draw_offscreen(scene, v3d, ar, sizex, sizey, NULL, winmat_jitter); glReadPixels(0, 0, sizex, sizey, GL_RGBA, GL_FLOAT, accum_tmp); - - i= (sizex*sizey * 4) - 1; - from= accum_tmp; - to= accum_buffer; - do {*to++ += *from++; } while (i--); + add_vn_vn(accum_buffer, accum_tmp, sizex*sizey*sizeof(float)); } - from= accum_buffer; - to= rr->rectf; + mul_vn_vn_fl(rr->rectf, accum_buffer, sizex*sizey*sizeof(float), 1.0/SAMPLES); - i= (sizex * sizey * 4) - 1; - do { *to++= *from++ * (1.0/SAMPLES); } while (i--); - MEM_freeN(accum_buffer); MEM_freeN(accum_tmp); } diff --git a/source/blender/modifiers/intern/MOD_solidify.c b/source/blender/modifiers/intern/MOD_solidify.c index 6abe1262c0b..b54f8fdf190 100644 --- a/source/blender/modifiers/intern/MOD_solidify.c +++ b/source/blender/modifiers/intern/MOD_solidify.c @@ -196,7 +196,7 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob, int UNUSED(useRenderParams), int UNUSED(isFinalCalc)) { - int i; + int i, *index; DerivedMesh *result; SolidifyModifierData *smd = (SolidifyModifierData*) md; @@ -321,7 +321,7 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob, dm_calc_normal(dm, vert_nors); } - result = CDDM_from_template(dm, numVerts * 2, (numEdges * 2) + newEdges, (numFaces * 2) + newFaces); + result = CDDM_from_template(dm, numVerts * 2, (numEdges * 2) + newEdges, (numFaces * 2) + newFaces); mface = result->getFaceArray(result); medge = result->getEdgeArray(result); @@ -336,6 +336,23 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob, DM_copy_vert_data(dm, result, 0, 0, numVerts); DM_copy_vert_data(dm, result, 0, numVerts, numVerts); + /* CDDM_from_template() gives zero'd ORIGINDEX data, we can know ahead of time what the + * indicies will be however it would be better if we could check if the're needed. */ + index= DM_get_vert_data_layer(result, CD_ORIGINDEX); + range_vni(index, numVerts, 0); + memcpy(index+numVerts, index, numVerts * sizeof(int)); + + index= DM_get_edge_data_layer(result, CD_ORIGINDEX); + range_vni(index, numEdges, 0); + memcpy(index+numEdges, index, numEdges * sizeof(int)); + fill_vni(index+numEdges*2, newEdges, ORIGINDEX_NONE); + + index= DM_get_face_data_layer(result, CD_ORIGINDEX); + range_vni(index, numFaces, 0); + memcpy(index+numFaces, index, numFaces * sizeof(int)); + fill_vni(index+numFaces*2, newFaces, ORIGINDEX_NONE); + /* done setting origindex values */ + { static int corner_indices[4] = {2, 1, 0, 3}; int is_quad; -- cgit v1.2.3 From 394caf98e3ae78fec83b8e36b6f3deb342efe3af Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Wed, 20 Oct 2010 12:11:09 +0000 Subject: fix for -Wunused-value --- source/blender/python/generic/mathutils_color.c | 2 +- source/blender/python/generic/mathutils_euler.c | 12 ++++++------ source/blender/python/generic/mathutils_matrix.c | 12 ++++++------ source/blender/python/generic/mathutils_quat.c | 12 ++++++------ source/blender/python/generic/mathutils_vector.c | 16 ++++++++-------- 5 files changed, 27 insertions(+), 27 deletions(-) diff --git a/source/blender/python/generic/mathutils_color.c b/source/blender/python/generic/mathutils_color.c index 26af8a38f6d..83cea0565cd 100644 --- a/source/blender/python/generic/mathutils_color.c +++ b/source/blender/python/generic/mathutils_color.c @@ -258,7 +258,7 @@ static int Color_ass_slice(ColorObject * self, int begin, int end, PyObject * se for(i= 0; i < COLOR_SIZE; i++) self->col[begin + i] = col[i]; - BaseMath_WriteCallback(self); + (void)BaseMath_WriteCallback(self); return 0; } diff --git a/source/blender/python/generic/mathutils_euler.c b/source/blender/python/generic/mathutils_euler.c index c7091347493..e536bdbe9d4 100644 --- a/source/blender/python/generic/mathutils_euler.c +++ b/source/blender/python/generic/mathutils_euler.c @@ -209,7 +209,7 @@ static PyObject *Euler_Unique(EulerObject * self) heading -= (floor(heading * PI_INV)) * PI_2; heading -= Py_PI; - BaseMath_WriteCallback(self); + (void)BaseMath_WriteCallback(self); Py_INCREF(self); return (PyObject *)self; } @@ -229,7 +229,7 @@ static PyObject *Euler_Zero(EulerObject * self) self->eul[1] = 0.0; self->eul[2] = 0.0; - BaseMath_WriteCallback(self); + (void)BaseMath_WriteCallback(self); Py_INCREF(self); return (PyObject *)self; } @@ -266,7 +266,7 @@ static PyObject *Euler_rotate_axis(EulerObject * self, PyObject *args) if(self->order == EULER_ORDER_XYZ) rotate_eul(self->eul, *axis, angle); else rotate_eulO(self->eul, self->order, *axis, angle); - BaseMath_WriteCallback(self); + (void)BaseMath_WriteCallback(self); Py_INCREF(self); return (PyObject *)self; } @@ -300,7 +300,7 @@ static PyObject *Euler_MakeCompatible(EulerObject * self, EulerObject *value) compatible_eul(self->eul, value->eul); - BaseMath_WriteCallback(self); + (void)BaseMath_WriteCallback(self); Py_INCREF(self); return (PyObject *)self; } @@ -488,7 +488,7 @@ static int Euler_ass_slice(EulerObject * self, int begin, int end, PyObject * se for(i= 0; i < EULER_SIZE; i++) self->eul[begin + i] = eul[i]; - BaseMath_WriteCallback(self); + (void)BaseMath_WriteCallback(self); return 0; } @@ -612,7 +612,7 @@ static int Euler_setOrder(EulerObject *self, PyObject *value, void *UNUSED(closu return -1; self->order= order; - BaseMath_WriteCallback(self); /* order can be written back */ + (void)BaseMath_WriteCallback(self); /* order can be written back */ return 0; } diff --git a/source/blender/python/generic/mathutils_matrix.c b/source/blender/python/generic/mathutils_matrix.c index 9476e8127b6..36a9bf8b55d 100644 --- a/source/blender/python/generic/mathutils_matrix.c +++ b/source/blender/python/generic/mathutils_matrix.c @@ -68,7 +68,7 @@ static int mathutils_matrix_vector_set(BaseMathObject *bmo, int subtype) for(i=0; i < self->colSize; i++) self->matrix[subtype][i]= bmo->data[i]; - BaseMath_WriteCallback(self); + (void)BaseMath_WriteCallback(self); return 1; } @@ -92,7 +92,7 @@ static int mathutils_matrix_vector_set_index(BaseMathObject *bmo, int subtype, i self->matrix[subtype][index]= bmo->data[index]; - BaseMath_WriteCallback(self); + (void)BaseMath_WriteCallback(self); return 1; } @@ -1004,7 +1004,7 @@ PyObject *Matrix_Invert(MatrixObject * self) return NULL; } - BaseMath_WriteCallback(self); + (void)BaseMath_WriteCallback(self); Py_INCREF(self); return (PyObject *)self; } @@ -1066,7 +1066,7 @@ PyObject *Matrix_Transpose(MatrixObject * self) transpose_m4((float (*)[4])self->contigPtr); } - BaseMath_WriteCallback(self); + (void)BaseMath_WriteCallback(self); Py_INCREF(self); return (PyObject *)self; } @@ -1302,7 +1302,7 @@ static int Matrix_ass_item(MatrixObject * self, int i, PyObject * ob) self->matrix[i][y] = vec[y]; } - BaseMath_WriteCallback(self); + (void)BaseMath_WriteCallback(self); return 0; }else{ PyErr_SetString(PyExc_TypeError, "matrix[attribute] = x: expects a sequence of column size\n"); @@ -1403,7 +1403,7 @@ static int Matrix_ass_slice(MatrixObject * self, int begin, int end, PyObject * self->matrix[begin + (int)floor(x / self->colSize)][x % self->colSize] = mat[x]; } - BaseMath_WriteCallback(self); + (void)BaseMath_WriteCallback(self); return 0; }else{ PyErr_SetString(PyExc_TypeError, "matrix[begin:end] = []: illegal argument type for built-in operation\n"); diff --git a/source/blender/python/generic/mathutils_quat.c b/source/blender/python/generic/mathutils_quat.c index 37f20ebbe31..cb6e6fd3ddd 100644 --- a/source/blender/python/generic/mathutils_quat.c +++ b/source/blender/python/generic/mathutils_quat.c @@ -257,7 +257,7 @@ static PyObject *Quaternion_Normalize(QuaternionObject * self) normalize_qt(self->quat); - BaseMath_WriteCallback(self); + (void)BaseMath_WriteCallback(self); Py_INCREF(self); return (PyObject*)self; } @@ -277,7 +277,7 @@ static PyObject *Quaternion_Inverse(QuaternionObject * self) invert_qt(self->quat); - BaseMath_WriteCallback(self); + (void)BaseMath_WriteCallback(self); Py_INCREF(self); return (PyObject*)self; } @@ -297,7 +297,7 @@ static PyObject *Quaternion_Identity(QuaternionObject * self) unit_qt(self->quat); - BaseMath_WriteCallback(self); + (void)BaseMath_WriteCallback(self); Py_INCREF(self); return (PyObject*)self; } @@ -317,7 +317,7 @@ static PyObject *Quaternion_Negate(QuaternionObject * self) mul_qt_fl(self->quat, -1.0f); - BaseMath_WriteCallback(self); + (void)BaseMath_WriteCallback(self); Py_INCREF(self); return (PyObject*)self; } @@ -337,7 +337,7 @@ static PyObject *Quaternion_Conjugate(QuaternionObject * self) conjugate_qt(self->quat); - BaseMath_WriteCallback(self); + (void)BaseMath_WriteCallback(self); Py_INCREF(self); return (PyObject*)self; } @@ -523,7 +523,7 @@ static int Quaternion_ass_slice(QuaternionObject * self, int begin, int end, PyO for(i= 0; i < size; i++) self->quat[begin + i] = quat[i]; - BaseMath_WriteCallback(self); + (void)BaseMath_WriteCallback(self); return 0; } diff --git a/source/blender/python/generic/mathutils_vector.c b/source/blender/python/generic/mathutils_vector.c index 84f41b6e66a..57d7ee659d5 100644 --- a/source/blender/python/generic/mathutils_vector.c +++ b/source/blender/python/generic/mathutils_vector.c @@ -80,7 +80,7 @@ static PyObject *Vector_Zero(VectorObject *self) self->vec[i] = 0.0f; } - BaseMath_WriteCallback(self); + (void)BaseMath_WriteCallback(self); Py_INCREF(self); return (PyObject*)self; } @@ -113,7 +113,7 @@ static PyObject *Vector_Normalize(VectorObject *self) self->vec[i] /= norm; } - BaseMath_WriteCallback(self); + (void)BaseMath_WriteCallback(self); Py_INCREF(self); return (PyObject*)self; } @@ -940,7 +940,7 @@ static PyObject *Vector_iadd(PyObject * v1, PyObject * v2) vec1->vec[i] = vec1->vec[i] + vec2->vec[i]; } - BaseMath_WriteCallback(vec1); + (void)BaseMath_WriteCallback(vec1); Py_INCREF( v1 ); return v1; } @@ -1000,7 +1000,7 @@ static PyObject *Vector_isub(PyObject * v1, PyObject * v2) vec1->vec[i] = vec1->vec[i] - vec2->vec[i]; } - BaseMath_WriteCallback(vec1); + (void)BaseMath_WriteCallback(vec1); Py_INCREF( v1 ); return v1; } @@ -1122,7 +1122,7 @@ static PyObject *Vector_imul(PyObject * v1, PyObject * v2) return NULL; } - BaseMath_WriteCallback(vec); + (void)BaseMath_WriteCallback(vec); Py_INCREF( v1 ); return v1; } @@ -1184,7 +1184,7 @@ static PyObject *Vector_idiv(PyObject * v1, PyObject * v2) vec1->vec[i] /= scalar; } - BaseMath_WriteCallback(vec1); + (void)BaseMath_WriteCallback(vec1); Py_INCREF( v1 ); return v1; @@ -1501,7 +1501,7 @@ static int Vector_setLength(VectorObject *self, PyObject * value ) self->vec[i]= self->vec[i] / (float)dot; } - BaseMath_WriteCallback(self); /* checked already */ + (void)BaseMath_WriteCallback(self); /* checked already */ return 0; } @@ -2067,7 +2067,7 @@ static PyObject *Vector_Negate(VectorObject *self) for(i = 0; i < self->size; i++) self->vec[i] = -(self->vec[i]); - BaseMath_WriteCallback(self); // already checked for error + (void)BaseMath_WriteCallback(self); // already checked for error Py_INCREF(self); return (PyObject*)self; -- cgit v1.2.3 From a9f79ee5360261d00c72ed9528052fa3791d17f5 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Wed, 20 Oct 2010 12:33:00 +0000 Subject: Quiet compiler warnings. --- source/blender/avi/intern/avi.c | 34 +++++++++++----------- source/blender/blenkernel/BKE_utildefines.h | 4 +-- source/gameengine/GameLogic/SCA_IInputDevice.h | 1 - source/gameengine/GameLogic/SCA_KeyboardSensor.cpp | 9 ++++++ .../gameengine/Ketsji/KX_ConvertPhysicsObjects.cpp | 3 ++ source/gameengine/Ketsji/KX_TouchEventManager.cpp | 7 +++++ .../Physics/Bullet/CcdPhysicsEnvironment.cpp | 5 ++-- source/gameengine/VideoTexture/VideoBase.cpp | 2 ++ 8 files changed, 42 insertions(+), 23 deletions(-) diff --git a/source/blender/avi/intern/avi.c b/source/blender/avi/intern/avi.c index 5f0d36e17e2..53be1b4467a 100644 --- a/source/blender/avi/intern/avi.c +++ b/source/blender/avi/intern/avi.c @@ -48,7 +48,7 @@ static int AVI_DEBUG=0; static char DEBUG_FCC[4]; -#define DEBUG(x) if(AVI_DEBUG) printf("AVI DEBUG: " x); +#define DEBUG_PRINT(x) if(AVI_DEBUG) printf("AVI DEBUG: " x); /* local functions */ char *fcc_to_char (unsigned int fcc); @@ -218,7 +218,7 @@ int AVI_is_avi (char *name) { AviBitmapInfoHeader bheader; int movie_tracks = 0; - DEBUG("opening movie\n"); + DEBUG_PRINT("opening movie\n"); memset(&movie, 0, sizeof(AviMovie)); @@ -243,7 +243,7 @@ int AVI_is_avi (char *name) { GET_FCC (movie.fp) != FCC("hdrl") || (movie.header->fcc = GET_FCC (movie.fp)) != FCC("avih") || !(movie.header->size = GET_FCC (movie.fp))) { - DEBUG("bad initial header info\n"); + DEBUG_PRINT("bad initial header info\n"); fclose(movie.fp); return 0; } @@ -266,7 +266,7 @@ int AVI_is_avi (char *name) { fseek (movie.fp, movie.header->size-14*4, SEEK_CUR); if (movie.header->Streams < 1) { - DEBUG("streams less than 1\n"); + DEBUG_PRINT("streams less than 1\n"); fclose(movie.fp); return 0; } @@ -280,7 +280,7 @@ int AVI_is_avi (char *name) { GET_FCC (movie.fp) != FCC ("strl") || (movie.streams[temp].sh.fcc = GET_FCC (movie.fp)) != FCC ("strh") || !(movie.streams[temp].sh.size = GET_FCC (movie.fp))) { - DEBUG("bad stream header information\n"); + DEBUG_PRINT("bad stream header information\n"); MEM_freeN(movie.streams); fclose(movie.fp); @@ -328,7 +328,7 @@ int AVI_is_avi (char *name) { fseek (movie.fp, movie.streams[temp].sh.size-14*4, SEEK_CUR); if (GET_FCC (movie.fp) != FCC("strf")) { - DEBUG("no stream format information\n"); + DEBUG_PRINT("no stream format information\n"); MEM_freeN(movie.streams); fclose(movie.fp); return 0; @@ -384,7 +384,7 @@ int AVI_is_avi (char *name) { while (GET_FCC (movie.fp) != FCC("LIST")) { temp= GET_FCC (movie.fp); if (temp<0 || ftell(movie.fp) > movie.size) { - DEBUG("incorrect size in header or error in AVI\n"); + DEBUG_PRINT("incorrect size in header or error in AVI\n"); MEM_freeN(movie.streams); fclose(movie.fp); @@ -407,7 +407,7 @@ int AVI_is_avi (char *name) { AviError AVI_open_movie (char *name, AviMovie *movie) { int temp, fcca, size, j; - DEBUG("opening movie\n"); + DEBUG_PRINT("opening movie\n"); memset(movie, 0, sizeof(AviMovie)); @@ -430,7 +430,7 @@ AviError AVI_open_movie (char *name, AviMovie *movie) { GET_FCC (movie->fp) != FCC("hdrl") || (movie->header->fcc = GET_FCC (movie->fp)) != FCC("avih") || !(movie->header->size = GET_FCC (movie->fp))) { - DEBUG("bad initial header info\n"); + DEBUG_PRINT("bad initial header info\n"); return AVI_ERROR_FORMAT; } @@ -452,7 +452,7 @@ AviError AVI_open_movie (char *name, AviMovie *movie) { fseek (movie->fp, movie->header->size-14*4, SEEK_CUR); if (movie->header->Streams < 1) { - DEBUG("streams less than 1\n"); + DEBUG_PRINT("streams less than 1\n"); return AVI_ERROR_FORMAT; } @@ -465,7 +465,7 @@ AviError AVI_open_movie (char *name, AviMovie *movie) { GET_FCC (movie->fp) != FCC ("strl") || (movie->streams[temp].sh.fcc = GET_FCC (movie->fp)) != FCC ("strh") || !(movie->streams[temp].sh.size = GET_FCC (movie->fp))) { - DEBUG("bad stream header information\n"); + DEBUG_PRINT("bad stream header information\n"); return AVI_ERROR_FORMAT; } @@ -507,7 +507,7 @@ AviError AVI_open_movie (char *name, AviMovie *movie) { fseek (movie->fp, movie->streams[temp].sh.size-14*4, SEEK_CUR); if (GET_FCC (movie->fp) != FCC("strf")) { - DEBUG("no stream format information\n"); + DEBUG_PRINT("no stream format information\n"); return AVI_ERROR_FORMAT; } @@ -560,7 +560,7 @@ AviError AVI_open_movie (char *name, AviMovie *movie) { while (GET_FCC (movie->fp) != FCC("LIST")) { temp= GET_FCC (movie->fp); if (temp<0 || ftell(movie->fp) > movie->size) { - DEBUG("incorrect size in header or error in AVI\n"); + DEBUG_PRINT("incorrect size in header or error in AVI\n"); return AVI_ERROR_FORMAT; } fseek(movie->fp, temp, SEEK_CUR); @@ -585,7 +585,7 @@ AviError AVI_open_movie (char *name, AviMovie *movie) { fseek (movie->fp, size, SEEK_CUR); } if (ftell(movie->fp) > movie->size) { - DEBUG("incorrect size in header or error in AVI\n"); + DEBUG_PRINT("incorrect size in header or error in AVI\n"); return AVI_ERROR_FORMAT; } } @@ -599,13 +599,13 @@ AviError AVI_open_movie (char *name, AviMovie *movie) { fseek(movie->fp, size-4, SEEK_CUR); if (GET_FCC(movie->fp) != FCC("idx1")) { - DEBUG("bad index informatio\n"); + DEBUG_PRINT("bad index informatio\n"); return AVI_ERROR_FORMAT; } movie->index_entries = GET_FCC (movie->fp)/sizeof(AviIndexEntry); if (movie->index_entries == 0) { - DEBUG("no index entries\n"); + DEBUG_PRINT("no index entries\n"); return AVI_ERROR_FORMAT; } @@ -631,7 +631,7 @@ AviError AVI_open_movie (char *name, AviMovie *movie) { movie->read_offset= 4; } - DEBUG("movie succesfully opened\n"); + DEBUG_PRINT("movie succesfully opened\n"); return AVI_ERROR_NONE; } diff --git a/source/blender/blenkernel/BKE_utildefines.h b/source/blender/blenkernel/BKE_utildefines.h index 83dcde26233..016aef4d865 100644 --- a/source/blender/blenkernel/BKE_utildefines.h +++ b/source/blender/blenkernel/BKE_utildefines.h @@ -262,8 +262,8 @@ behaviour, though it may not be the best in practice. #define V_GROW(vec) \ V_SIZE(vec) > _##vec##_count ? _##vec##_count++ : \ ((_##vec##_tmp = MEM_callocN(sizeof(*vec)*(_##vec##_count*2+2), #vec " " __FILE__ " ")),\ - (vec && memcpy(_##vec##_tmp, vec, sizeof(*vec) * _##vec##_count)),\ - (vec && (MEM_freeN(vec),1)),\ + (void)(vec && memcpy(_##vec##_tmp, vec, sizeof(*vec) * _##vec##_count)),\ + (void)(vec && (MEM_freeN(vec),1)),\ (vec = _##vec##_tmp),\ _##vec##_count++) diff --git a/source/gameengine/GameLogic/SCA_IInputDevice.h b/source/gameengine/GameLogic/SCA_IInputDevice.h index a13efee1316..0dbfe424e2c 100644 --- a/source/gameengine/GameLogic/SCA_IInputDevice.h +++ b/source/gameengine/GameLogic/SCA_IInputDevice.h @@ -47,7 +47,6 @@ public: KX_JUSTACTIVATED, KX_ACTIVE, KX_JUSTRELEASED, - KX_MAX_INPUTSTATUS }; SCA_InputEvent(SCA_EnumInputs status=KX_NO_INPUTSTATUS,int eventval=0) diff --git a/source/gameengine/GameLogic/SCA_KeyboardSensor.cpp b/source/gameengine/GameLogic/SCA_KeyboardSensor.cpp index c49d65226dc..1a87528e540 100644 --- a/source/gameengine/GameLogic/SCA_KeyboardSensor.cpp +++ b/source/gameengine/GameLogic/SCA_KeyboardSensor.cpp @@ -156,6 +156,9 @@ bool SCA_KeyboardSensor::Evaluate() case SCA_InputEvent::KX_ACTIVE: active = true; break; + case SCA_InputEvent::KX_NO_INPUTSTATUS: + /* do nothing */ + break; } } @@ -221,6 +224,9 @@ bool SCA_KeyboardSensor::Evaluate() break; case SCA_InputEvent::KX_JUSTACTIVATED: qual_change = true; + case SCA_InputEvent::KX_ACTIVE: + /* do nothing */ + break; } } if (m_qual2 > 0 && qual==true) { @@ -236,6 +242,9 @@ bool SCA_KeyboardSensor::Evaluate() break; case SCA_InputEvent::KX_JUSTACTIVATED: qual_change = true; + case SCA_InputEvent::KX_ACTIVE: + /* do nothing */ + break; } } /* done reading qualifiers */ diff --git a/source/gameengine/Ketsji/KX_ConvertPhysicsObjects.cpp b/source/gameengine/Ketsji/KX_ConvertPhysicsObjects.cpp index 1888e7cf7b8..e238d7babec 100644 --- a/source/gameengine/Ketsji/KX_ConvertPhysicsObjects.cpp +++ b/source/gameengine/Ketsji/KX_ConvertPhysicsObjects.cpp @@ -218,6 +218,9 @@ void KX_ConvertBulletObject( class KX_GameObject* gameobj, break; } + case KX_BOUND_DYN_MESH: + /* do nothing */ + break; } diff --git a/source/gameengine/Ketsji/KX_TouchEventManager.cpp b/source/gameengine/Ketsji/KX_TouchEventManager.cpp index eb55d0272f6..95928ac5889 100644 --- a/source/gameengine/Ketsji/KX_TouchEventManager.cpp +++ b/source/gameengine/Ketsji/KX_TouchEventManager.cpp @@ -109,6 +109,13 @@ bool KX_TouchEventManager::newBroadphaseResponse(void *client_data, } } return false; + + // quiet the compiler + case KX_ClientObjectInfo::STATIC: + case KX_ClientObjectInfo::ACTOR: + case KX_ClientObjectInfo::RESERVED1: + /* do nothing*/ + break; } return true; } diff --git a/source/gameengine/Physics/Bullet/CcdPhysicsEnvironment.cpp b/source/gameengine/Physics/Bullet/CcdPhysicsEnvironment.cpp index 477a2c35d4f..eb525af7dc7 100644 --- a/source/gameengine/Physics/Bullet/CcdPhysicsEnvironment.cpp +++ b/source/gameengine/Physics/Bullet/CcdPhysicsEnvironment.cpp @@ -287,6 +287,7 @@ void CcdPhysicsEnvironment::setDebugDrawer(btIDebugDraw* debugDrawer) m_debugDrawer = debugDrawer; } +#if 0 static void DrawAabb(btIDebugDraw* debugDrawer,const btVector3& from,const btVector3& to,const btVector3& color) { btVector3 halfExtents = (to-from)* 0.5f; @@ -314,10 +315,8 @@ static void DrawAabb(btIDebugDraw* debugDrawer,const btVector3& from,const btVec if (i<3) edgecoord[i]*=-1.f; } - - } - +#endif diff --git a/source/gameengine/VideoTexture/VideoBase.cpp b/source/gameengine/VideoTexture/VideoBase.cpp index 5de7a9e80a9..322ede7004d 100644 --- a/source/gameengine/VideoTexture/VideoBase.cpp +++ b/source/gameengine/VideoTexture/VideoBase.cpp @@ -82,6 +82,8 @@ void VideoBase::process (BYTE * sample) // finish break; } + case None: + break; /* assert? */ } } } -- cgit v1.2.3 From 1998fa59ae90c2346910dc622df0356a8644c28f Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Wed, 20 Oct 2010 13:51:37 +0000 Subject: fix for fix [#24336] evaluation time - curve has no effect committed r32598 to fix [#24309] Reloading file with incorrect path location. Setting the curves ctime when updating the object data overrode the animated value. For now just set the ctime on newly added curves with will work as the user expects in most cases. This is weak design IMHO because the ctime value can be set to anything but is reset on changing frames even if its not keyed. With curves created via python or linked in this can still result in a bad ctime value. --- source/blender/blenkernel/intern/object.c | 6 ------ source/blender/editors/curve/editcurve.c | 2 ++ 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/source/blender/blenkernel/intern/object.c b/source/blender/blenkernel/intern/object.c index 1d7d5b6e243..142e41918dd 100644 --- a/source/blender/blenkernel/intern/object.c +++ b/source/blender/blenkernel/intern/object.c @@ -2560,12 +2560,6 @@ void object_handle_update(Scene *scene, Object *ob) makeDispListMBall(scene, ob); } else if(ELEM3(ob->type, OB_CURVE, OB_SURF, OB_FONT)) { - if(ob->type==OB_CURVE) { - /* cu->ctime is set on frame change but this is not enough when - * adding new curves, appending etc. This assignment could be moved - * but this ensures its always set esp before parenting: [#24309] */ - ((Curve *)ob->data)->ctime= ctime; - } makeDispListCurveTypes(scene, ob, 0); } else if(ELEM(ob->type, OB_CAMERA, OB_LAMP)) { diff --git a/source/blender/editors/curve/editcurve.c b/source/blender/editors/curve/editcurve.c index 97379cc110c..a116cc10be7 100644 --- a/source/blender/editors/curve/editcurve.c +++ b/source/blender/editors/curve/editcurve.c @@ -6012,11 +6012,13 @@ static int curvesurf_prim_add(bContext *C, wmOperator *op, int type, int isSurf) if (!isSurf) { /* adding curve */ if(obedit==NULL || obedit->type!=OB_CURVE) { Curve *cu; + Scene *scene= CTX_data_scene(C); obedit= ED_object_add_type(C, OB_CURVE, loc, rot, TRUE, layer); newob = 1; cu= (Curve*)obedit->data; cu->flag |= CU_DEFORM_FILL; + cu->ctime= CFRA; if(type & CU_PRIM_PATH) cu->flag |= CU_PATH|CU_3D; } else DAG_id_flush_update(&obedit->id, OB_RECALC_DATA); -- cgit v1.2.3 From bfb8560a59547e178687cdf2b561c83e22f01385 Mon Sep 17 00:00:00 2001 From: Nicholas Bishop Date: Wed, 20 Oct 2010 23:13:12 +0000 Subject: Partial fix for bug #24341, "Problems running blender headless" * Fixed the random file popping up. * Don't write to the history file in background mode, because ghost won't give us the right directory in that case --- source/blender/windowmanager/intern/wm_files.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/source/blender/windowmanager/intern/wm_files.c b/source/blender/windowmanager/intern/wm_files.c index 00a686c0d74..6db7f2554c4 100644 --- a/source/blender/windowmanager/intern/wm_files.c +++ b/source/blender/windowmanager/intern/wm_files.c @@ -453,10 +453,16 @@ static void write_history(void) { struct RecentFile *recent, *next_recent; char name[FILE_MAXDIR+FILE_MAXFILE]; + char *user_config_dir; FILE *fp; int i; - BLI_make_file_string("/", name, BLI_get_folder_create(BLENDER_USER_CONFIG, NULL), BLENDER_HISTORY_FILE); + /* will be NULL in background mode */ + user_config_dir = BLI_get_folder_create(BLENDER_USER_CONFIG, NULL); + if(!user_config_dir) + return; + + BLI_make_file_string("/", name, user_config_dir, BLENDER_HISTORY_FILE); recent = G.recent_files.first; /* refresh recent-files.txt of recent opened files, when current file was changed */ -- cgit v1.2.3 From 16b04834b3e1046118787d40531bf38f73ec9c76 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Thu, 21 Oct 2010 01:08:12 +0000 Subject: improved fix for [#24267] Hook fails after Solidify Rather then have the modifier calculate ORIGINDEX weather its needed or not (incorrect if it wasn't the first modifier on the stack), create ORIGINDEX layer initially if any of the modifiers use it. This way hook also works after Mirror and Screw modifiers which have the ORIGINDEX layer copied implicitly with DM_copy_vert_data(). This wasn't possible to check for before because this flag was always enabled so it would be passed to DM_set_only_copy(). Now just add the flag whenever calling DM_set_only_copy(). --- source/blender/blenkernel/intern/DerivedMesh.c | 41 ++++++++++++++------------ source/blender/modifiers/intern/MOD_hook.c | 5 ++-- source/blender/modifiers/intern/MOD_solidify.c | 17 ----------- 3 files changed, 24 insertions(+), 39 deletions(-) diff --git a/source/blender/blenkernel/intern/DerivedMesh.c b/source/blender/blenkernel/intern/DerivedMesh.c index c213a5a4ce2..3d87b77dec9 100644 --- a/source/blender/blenkernel/intern/DerivedMesh.c +++ b/source/blender/blenkernel/intern/DerivedMesh.c @@ -1693,9 +1693,6 @@ static void mesh_calc_modifiers(Scene *scene, Object *ob, float (*inputVertexCos if(useRenderParams) required_mode = eModifierMode_Render; else required_mode = eModifierMode_Realtime; - /* we always want to keep original indices */ - dataMask |= CD_MASK_ORIGINDEX; - datamasks = modifiers_calcDataMasks(scene, ob, md, dataMask, required_mode); curr = datamasks; @@ -1816,6 +1813,12 @@ static void mesh_calc_modifiers(Scene *scene, Object *ob, float (*inputVertexCos } else { DerivedMesh *ndm; + /* determine which data layers are needed by following modifiers */ + if(curr->next) + nextmask= (CustomDataMask)GET_INT_FROM_POINTER(curr->next->link); + else + nextmask= dataMask; + /* apply vertex coordinates or build a DerivedMesh as necessary */ if(dm) { if(deformedVerts) { @@ -1837,9 +1840,15 @@ static void mesh_calc_modifiers(Scene *scene, Object *ob, float (*inputVertexCos if((dataMask & CD_MASK_WEIGHT_MCOL) && (ob->mode & OB_MODE_WEIGHT_PAINT)) add_weight_mcol_dm(ob, dm); - /* constructive modifiers need to have an origindex - * otherwise they wont have anywhere to copy the data from */ - if(needMapping) { + /* Constructive modifiers need to have an origindex + * otherwise they wont have anywhere to copy the data from. + * + * Also create ORIGINDEX data if any of the following modifiers + * requests it, this way Mirror, Solidify etc will keep ORIGINDEX + * data by using generic DM_copy_vert_data() functions. + */ + if(needMapping || (nextmask & CD_MASK_ORIGINDEX)) { + /* calc */ DM_add_vert_layer(dm, CD_ORIGINDEX, CD_CALLOC, NULL); DM_add_edge_layer(dm, CD_ORIGINDEX, CD_CALLOC, NULL); DM_add_face_layer(dm, CD_ORIGINDEX, CD_CALLOC, NULL); @@ -1850,11 +1859,6 @@ static void mesh_calc_modifiers(Scene *scene, Object *ob, float (*inputVertexCos } } - /* determine which data layers are needed by following modifiers */ - if(curr->next) - nextmask= (CustomDataMask)GET_INT_FROM_POINTER(curr->next->link); - else - nextmask= dataMask; /* set the DerivedMesh to only copy needed data */ mask= (CustomDataMask)GET_INT_FROM_POINTER(curr->link); @@ -1891,7 +1895,7 @@ static void mesh_calc_modifiers(Scene *scene, Object *ob, float (*inputVertexCos orcodm= create_orco_dm(ob, me, NULL, CD_ORCO); nextmask &= ~CD_MASK_ORCO; - DM_set_only_copy(orcodm, nextmask); + DM_set_only_copy(orcodm, nextmask | CD_MASK_ORIGINDEX); ndm = mti->applyModifier(md, ob, orcodm, useRenderParams, 0); if(ndm) { @@ -1907,7 +1911,7 @@ static void mesh_calc_modifiers(Scene *scene, Object *ob, float (*inputVertexCos clothorcodm= create_orco_dm(ob, me, NULL, CD_CLOTH_ORCO); nextmask &= ~CD_MASK_CLOTH_ORCO; - DM_set_only_copy(clothorcodm, nextmask); + DM_set_only_copy(clothorcodm, nextmask | CD_MASK_ORIGINDEX); ndm = mti->applyModifier(md, ob, clothorcodm, useRenderParams, 0); if(ndm) { @@ -2025,9 +2029,6 @@ static void editmesh_calc_modifiers(Scene *scene, Object *ob, EditMesh *em, Deri dm = NULL; md = modifiers_getVirtualModifierList(ob); - - /* we always want to keep original indices */ - dataMask |= CD_MASK_ORIGINDEX; datamasks = modifiers_calcDataMasks(scene, ob, md, dataMask, required_mode); @@ -2106,7 +2107,7 @@ static void editmesh_calc_modifiers(Scene *scene, Object *ob, EditMesh *em, Deri orcodm= create_orco_dm(ob, ob->data, em, CD_ORCO); mask &= ~CD_MASK_ORCO; - DM_set_only_copy(orcodm, mask); + DM_set_only_copy(orcodm, mask | CD_MASK_ORIGINDEX); if (mti->applyModifierEM) ndm = mti->applyModifierEM(md, ob, em, orcodm); @@ -2121,9 +2122,11 @@ static void editmesh_calc_modifiers(Scene *scene, Object *ob, EditMesh *em, Deri } /* set the DerivedMesh to only copy needed data */ - DM_set_only_copy(dm, (CustomDataMask)GET_INT_FROM_POINTER(curr->link)); + mask= (CustomDataMask)GET_INT_FROM_POINTER(curr->link); /* CD_MASK_ORCO may have been cleared above */ - if(((CustomDataMask)GET_INT_FROM_POINTER(curr->link)) & CD_MASK_ORIGSPACE) + DM_set_only_copy(dm, mask | CD_MASK_ORIGINDEX); + + if(mask & CD_MASK_ORIGSPACE) if(!CustomData_has_layer(&dm->faceData, CD_ORIGSPACE)) DM_add_face_layer(dm, CD_ORIGSPACE, CD_DEFAULT, NULL); diff --git a/source/blender/modifiers/intern/MOD_hook.c b/source/blender/modifiers/intern/MOD_hook.c index c26d3ff0967..b7d853d757a 100644 --- a/source/blender/modifiers/intern/MOD_hook.c +++ b/source/blender/modifiers/intern/MOD_hook.c @@ -76,7 +76,7 @@ static CustomDataMask requiredDataMask(Object *UNUSED(ob), ModifierData *md) /* ask for vertexgroups if we need them */ if(hmd->name[0]) dataMask |= (1 << CD_MDEFORMVERT); - // if(hmd->indexar) dataMask |= CD_MASK_ORIGINDEX; + if(hmd->indexar) dataMask |= CD_MASK_ORIGINDEX; return dataMask; } @@ -138,7 +138,7 @@ static float hook_falloff(float *co_1, float *co_2, const float falloff_squared, } static void deformVerts(ModifierData *md, Object *ob, - DerivedMesh *derivedData, + DerivedMesh *dm, float (*vertexCos)[3], int numVerts, int UNUSED(useRenderParams), @@ -148,7 +148,6 @@ static void deformVerts(ModifierData *md, Object *ob, bPoseChannel *pchan= get_pose_channel(hmd->object->pose, hmd->subtarget); float vec[3], mat[4][4], dmat[4][4]; int i, *index_pt; - DerivedMesh *dm = derivedData; const float falloff_squared= hmd->falloff * hmd->falloff; /* for faster comparisons */ int max_dvert= 0; diff --git a/source/blender/modifiers/intern/MOD_solidify.c b/source/blender/modifiers/intern/MOD_solidify.c index b54f8fdf190..416dc94d9d2 100644 --- a/source/blender/modifiers/intern/MOD_solidify.c +++ b/source/blender/modifiers/intern/MOD_solidify.c @@ -336,23 +336,6 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob, DM_copy_vert_data(dm, result, 0, 0, numVerts); DM_copy_vert_data(dm, result, 0, numVerts, numVerts); - /* CDDM_from_template() gives zero'd ORIGINDEX data, we can know ahead of time what the - * indicies will be however it would be better if we could check if the're needed. */ - index= DM_get_vert_data_layer(result, CD_ORIGINDEX); - range_vni(index, numVerts, 0); - memcpy(index+numVerts, index, numVerts * sizeof(int)); - - index= DM_get_edge_data_layer(result, CD_ORIGINDEX); - range_vni(index, numEdges, 0); - memcpy(index+numEdges, index, numEdges * sizeof(int)); - fill_vni(index+numEdges*2, newEdges, ORIGINDEX_NONE); - - index= DM_get_face_data_layer(result, CD_ORIGINDEX); - range_vni(index, numFaces, 0); - memcpy(index+numFaces, index, numFaces * sizeof(int)); - fill_vni(index+numFaces*2, newFaces, ORIGINDEX_NONE); - /* done setting origindex values */ - { static int corner_indices[4] = {2, 1, 0, 3}; int is_quad; -- cgit v1.2.3 From fec8292df190c2a38623823bec0b1b78867b1017 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Thu, 21 Oct 2010 01:10:22 +0000 Subject: remove unused args for some modifiers, no functional change. --- source/blender/blenkernel/BKE_cloth.h | 2 +- source/blender/blenkernel/BKE_smoke.h | 2 +- source/blender/blenkernel/intern/cloth.c | 2 +- source/blender/blenkernel/intern/particle_system.c | 2 +- source/blender/blenkernel/intern/smoke.c | 2 +- source/blender/modifiers/intern/MOD_array.c | 19 ++++++++++--------- source/blender/modifiers/intern/MOD_cloth.c | 10 ++++++---- source/blender/modifiers/intern/MOD_fluidsim.c | 18 +++++++----------- source/blender/modifiers/intern/MOD_fluidsim_util.c | 3 +-- source/blender/modifiers/intern/MOD_smoke.c | 6 +++--- 10 files changed, 32 insertions(+), 34 deletions(-) diff --git a/source/blender/blenkernel/BKE_cloth.h b/source/blender/blenkernel/BKE_cloth.h index e9f0304e645..19f6ab4b0a8 100644 --- a/source/blender/blenkernel/BKE_cloth.h +++ b/source/blender/blenkernel/BKE_cloth.h @@ -222,7 +222,7 @@ void clmdSetInterruptCallBack ( int ( *f ) ( void ) ); void cloth_free_modifier_extern ( struct ClothModifierData *clmd ); void cloth_free_modifier ( struct ClothModifierData *clmd ); void cloth_init ( struct ClothModifierData *clmd ); -struct DerivedMesh *clothModifier_do ( struct ClothModifierData *clmd, struct Scene *scene, struct Object *ob, struct DerivedMesh *dm, int useRenderParams, int isFinalCalc ); +struct DerivedMesh *clothModifier_do ( struct ClothModifierData *clmd, struct Scene *scene, struct Object *ob, struct DerivedMesh *dm); void cloth_update_normals ( ClothVertex *verts, int nVerts, struct MFace *face, int totface ); int cloth_uses_vgroup(struct ClothModifierData *clmd); diff --git a/source/blender/blenkernel/BKE_smoke.h b/source/blender/blenkernel/BKE_smoke.h index 088d61061b2..396db60714a 100644 --- a/source/blender/blenkernel/BKE_smoke.h +++ b/source/blender/blenkernel/BKE_smoke.h @@ -34,7 +34,7 @@ typedef float (*bresenham_callback) (float *result, float *input, int res[3], int *pixel, float *tRay, float correct); -void smokeModifier_do(struct SmokeModifierData *smd, struct Scene *scene, struct Object *ob, struct DerivedMesh *dm, int useRenderParams, int isFinalCalc); +void smokeModifier_do(struct SmokeModifierData *smd, struct Scene *scene, struct Object *ob, struct DerivedMesh *dm); void smokeModifier_free (struct SmokeModifierData *smd); void smokeModifier_reset(struct SmokeModifierData *smd); diff --git a/source/blender/blenkernel/intern/cloth.c b/source/blender/blenkernel/intern/cloth.c index e7e94c407f1..f1b167b38c7 100644 --- a/source/blender/blenkernel/intern/cloth.c +++ b/source/blender/blenkernel/intern/cloth.c @@ -423,7 +423,7 @@ static int do_step_cloth(Object *ob, ClothModifierData *clmd, DerivedMesh *resul /************************************************ * clothModifier_do - main simulation function ************************************************/ -DerivedMesh *clothModifier_do(ClothModifierData *clmd, Scene *scene, Object *ob, DerivedMesh *dm, int UNUSED(useRenderParams), int UNUSED(isFinalCalc)) +DerivedMesh *clothModifier_do(ClothModifierData *clmd, Scene *scene, Object *ob, DerivedMesh *dm) { DerivedMesh *result; PointCache *cache; diff --git a/source/blender/blenkernel/intern/particle_system.c b/source/blender/blenkernel/intern/particle_system.c index 71ec1114848..34abe45981c 100644 --- a/source/blender/blenkernel/intern/particle_system.c +++ b/source/blender/blenkernel/intern/particle_system.c @@ -3260,7 +3260,7 @@ static void do_hair_dynamics(ParticleSimulationData *sim) psys->clmd->point_cache = psys->pointcache; psys->clmd->sim_parms->effector_weights = psys->part->effector_weights; - psys->hair_out_dm = clothModifier_do(psys->clmd, sim->scene, sim->ob, dm, 0, 0); + psys->hair_out_dm = clothModifier_do(psys->clmd, sim->scene, sim->ob, dm); psys->clmd->sim_parms->effector_weights = NULL; } diff --git a/source/blender/blenkernel/intern/smoke.c b/source/blender/blenkernel/intern/smoke.c index d1eed94d330..a7e664bf2bf 100644 --- a/source/blender/blenkernel/intern/smoke.c +++ b/source/blender/blenkernel/intern/smoke.c @@ -1270,7 +1270,7 @@ static void smoke_calc_domain(Scene *scene, Object *ob, SmokeModifierData *smd) } } } -void smokeModifier_do(SmokeModifierData *smd, Scene *scene, Object *ob, DerivedMesh *dm, int UNUSED(useRenderParams), int UNUSED(isFinalCalc)) +void smokeModifier_do(SmokeModifierData *smd, Scene *scene, Object *ob, DerivedMesh *dm) { if((smd->type & MOD_SMOKE_TYPE_FLOW)) { diff --git a/source/blender/modifiers/intern/MOD_array.c b/source/blender/modifiers/intern/MOD_array.c index 839bfef6226..9916afcfe55 100644 --- a/source/blender/modifiers/intern/MOD_array.c +++ b/source/blender/modifiers/intern/MOD_array.c @@ -729,26 +729,27 @@ static DerivedMesh *arrayModifier_doArray(ArrayModifierData *amd, return result; } -static DerivedMesh *applyModifier( - ModifierData *md, Object *ob, DerivedMesh *derivedData, - int UNUSED(useRenderParams), int UNUSED(isFinalCalc)) +static DerivedMesh *applyModifier(ModifierData *md, Object *ob, + DerivedMesh *dm, + int UNUSED(useRenderParams), + int UNUSED(isFinalCalc)) { DerivedMesh *result; ArrayModifierData *amd = (ArrayModifierData*) md; - result = arrayModifier_doArray(amd, md->scene, ob, derivedData, 0); + result = arrayModifier_doArray(amd, md->scene, ob, dm, 0); - if(result != derivedData) + if(result != dm) CDDM_calc_normals(result); return result; } -static DerivedMesh *applyModifierEM( - ModifierData *md, Object *ob, struct EditMesh *UNUSED(editData), - DerivedMesh *derivedData) +static DerivedMesh *applyModifierEM(ModifierData *md, Object *ob, + struct EditMesh *UNUSED(editData), + DerivedMesh *dm) { - return applyModifier(md, ob, derivedData, 0, 1); + return applyModifier(md, ob, dm, 0, 1); } diff --git a/source/blender/modifiers/intern/MOD_cloth.c b/source/blender/modifiers/intern/MOD_cloth.c index 0c6c1e87a72..95c7fbf262e 100644 --- a/source/blender/modifiers/intern/MOD_cloth.c +++ b/source/blender/modifiers/intern/MOD_cloth.c @@ -62,7 +62,9 @@ static void initData(ModifierData *md) } static DerivedMesh *applyModifier(ModifierData *md, Object *ob, - DerivedMesh *derivedData, int useRenderParams, int isFinalCalc) + DerivedMesh *dm, + int UNUSED(useRenderParams), + int UNUSED(isFinalCalc)) { ClothModifierData *clmd = (ClothModifierData*) md; DerivedMesh *result=NULL; @@ -73,17 +75,17 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob, initData(md); if(!clmd->sim_parms || !clmd->coll_parms) - return derivedData; + return dm; } - result = clothModifier_do(clmd, md->scene, ob, derivedData, useRenderParams, isFinalCalc); + result = clothModifier_do(clmd, md->scene, ob, dm); if(result) { CDDM_calc_normals(result); return result; } - return derivedData; + return dm; } static void updateDepgraph( diff --git a/source/blender/modifiers/intern/MOD_fluidsim.c b/source/blender/modifiers/intern/MOD_fluidsim.c index 14fb09f1c1f..d3cc653d992 100644 --- a/source/blender/modifiers/intern/MOD_fluidsim.c +++ b/source/blender/modifiers/intern/MOD_fluidsim.c @@ -70,9 +70,10 @@ static void copyData(ModifierData *md, ModifierData *target) -static DerivedMesh * applyModifier( - ModifierData *md, Object *ob, DerivedMesh *derivedData, - int useRenderParams, int isFinalCalc) +static DerivedMesh *applyModifier(ModifierData *md, Object *ob, + DerivedMesh *dm, + int useRenderParams, + int isFinalCalc) { FluidsimModifierData *fluidmd= (FluidsimModifierData*) md; DerivedMesh *result = NULL; @@ -83,17 +84,12 @@ static DerivedMesh * applyModifier( initData(md); if(!fluidmd->fss) - return derivedData; + return dm; } - result = fluidsimModifier_do(fluidmd, md->scene, ob, derivedData, useRenderParams, isFinalCalc); + result= fluidsimModifier_do(fluidmd, md->scene, ob, dm, useRenderParams, isFinalCalc); - if(result) - { - return result; - } - - return derivedData; + return result ? result : dm; } static void updateDepgraph( diff --git a/source/blender/modifiers/intern/MOD_fluidsim_util.c b/source/blender/modifiers/intern/MOD_fluidsim_util.c index fb3eb74a919..6e6b9f43c54 100644 --- a/source/blender/modifiers/intern/MOD_fluidsim_util.c +++ b/source/blender/modifiers/intern/MOD_fluidsim_util.c @@ -546,8 +546,7 @@ DerivedMesh *fluidsim_read_cache(DerivedMesh *orgdm, FluidsimModifierData *fluid DerivedMesh *fluidsimModifier_do(FluidsimModifierData *fluidmd, Scene *scene, Object *UNUSED(ob), DerivedMesh *dm, - int useRenderParams, - int UNUSED(isFinalCalc)) + int useRenderParams) { #ifndef DISABLE_ELBEEM DerivedMesh *result = NULL; diff --git a/source/blender/modifiers/intern/MOD_smoke.c b/source/blender/modifiers/intern/MOD_smoke.c index aee466802ca..a183018da30 100644 --- a/source/blender/modifiers/intern/MOD_smoke.c +++ b/source/blender/modifiers/intern/MOD_smoke.c @@ -76,13 +76,13 @@ static void deformVerts(ModifierData *md, Object *ob, DerivedMesh *derivedData, float (*vertexCos)[3], int UNUSED(numVerts), - int useRenderParams, - int isFinalCalc) + int UNUSED(useRenderParams), + int UNUSED(isFinalCalc)) { SmokeModifierData *smd = (SmokeModifierData*) md; DerivedMesh *dm = dm= get_cddm(ob, NULL, derivedData, vertexCos); - smokeModifier_do(smd, md->scene, ob, dm, useRenderParams, isFinalCalc); + smokeModifier_do(smd, md->scene, ob, dm); if(dm != derivedData) dm->release(dm); -- cgit v1.2.3 From e2f1740761936b49c7ff0e71c6194e0d954ec415 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Thu, 21 Oct 2010 01:55:39 +0000 Subject: use custom data mask defines, no functional changes. --- source/blender/modifiers/intern/MOD_armature.c | 2 +- source/blender/modifiers/intern/MOD_bevel.c | 2 +- source/blender/modifiers/intern/MOD_boolean.c | 4 ++-- source/blender/modifiers/intern/MOD_cast.c | 2 +- source/blender/modifiers/intern/MOD_cloth.c | 4 ++-- source/blender/modifiers/intern/MOD_curve.c | 2 +- source/blender/modifiers/intern/MOD_displace.c | 4 ++-- source/blender/modifiers/intern/MOD_explode.c | 2 +- source/blender/modifiers/intern/MOD_hook.c | 2 +- source/blender/modifiers/intern/MOD_lattice.c | 2 +- source/blender/modifiers/intern/MOD_mask.c | 2 +- source/blender/modifiers/intern/MOD_meshdeform.c | 2 +- source/blender/modifiers/intern/MOD_particlesystem.c | 6 +++--- source/blender/modifiers/intern/MOD_shrinkwrap.c | 4 ++-- source/blender/modifiers/intern/MOD_simpledeform.c | 2 +- source/blender/modifiers/intern/MOD_smooth.c | 2 +- source/blender/modifiers/intern/MOD_solidify.c | 4 ++-- source/blender/modifiers/intern/MOD_uvproject.c | 2 +- source/blender/modifiers/intern/MOD_wave.c | 4 ++-- 19 files changed, 27 insertions(+), 27 deletions(-) diff --git a/source/blender/modifiers/intern/MOD_armature.c b/source/blender/modifiers/intern/MOD_armature.c index 2f802ee67c8..71be58c9982 100644 --- a/source/blender/modifiers/intern/MOD_armature.c +++ b/source/blender/modifiers/intern/MOD_armature.c @@ -69,7 +69,7 @@ static CustomDataMask requiredDataMask(Object *UNUSED(ob), ModifierData *UNUSED( CustomDataMask dataMask = 0; /* ask for vertexgroups */ - dataMask |= (1 << CD_MDEFORMVERT); + dataMask |= CD_MASK_MDEFORMVERT; return dataMask; } diff --git a/source/blender/modifiers/intern/MOD_bevel.c b/source/blender/modifiers/intern/MOD_bevel.c index 937c8cd7eac..a21d27180ba 100644 --- a/source/blender/modifiers/intern/MOD_bevel.c +++ b/source/blender/modifiers/intern/MOD_bevel.c @@ -72,7 +72,7 @@ static CustomDataMask requiredDataMask(Object *UNUSED(ob), ModifierData *md) CustomDataMask dataMask = 0; /* ask for vertexgroups if we need them */ - if(bmd->defgrp_name[0]) dataMask |= (1 << CD_MDEFORMVERT); + if(bmd->defgrp_name[0]) dataMask |= CD_MASK_MDEFORMVERT; return dataMask; } diff --git a/source/blender/modifiers/intern/MOD_boolean.c b/source/blender/modifiers/intern/MOD_boolean.c index dfcfd55f3d9..b2f7c685248 100644 --- a/source/blender/modifiers/intern/MOD_boolean.c +++ b/source/blender/modifiers/intern/MOD_boolean.c @@ -110,9 +110,9 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob, static CustomDataMask requiredDataMask(Object *UNUSED(ob), ModifierData *UNUSED(md)) { - CustomDataMask dataMask = (1 << CD_MTFACE) + (1 << CD_MEDGE); + CustomDataMask dataMask = CD_MASK_MTFACE | CD_MASK_MEDGE; - dataMask |= (1 << CD_MDEFORMVERT); + dataMask |= CD_MASK_MDEFORMVERT; return dataMask; } diff --git a/source/blender/modifiers/intern/MOD_cast.c b/source/blender/modifiers/intern/MOD_cast.c index c39aa288b18..2d45ea19f01 100644 --- a/source/blender/modifiers/intern/MOD_cast.c +++ b/source/blender/modifiers/intern/MOD_cast.c @@ -92,7 +92,7 @@ static CustomDataMask requiredDataMask(Object *UNUSED(ob), ModifierData *md) CustomDataMask dataMask = 0; /* ask for vertexgroups if we need them */ - if(cmd->defgrp_name[0]) dataMask |= (1 << CD_MDEFORMVERT); + if(cmd->defgrp_name[0]) dataMask |= CD_MASK_MDEFORMVERT; return dataMask; } diff --git a/source/blender/modifiers/intern/MOD_cloth.c b/source/blender/modifiers/intern/MOD_cloth.c index 95c7fbf262e..97a79cce414 100644 --- a/source/blender/modifiers/intern/MOD_cloth.c +++ b/source/blender/modifiers/intern/MOD_cloth.c @@ -120,10 +120,10 @@ static CustomDataMask requiredDataMask(Object *UNUSED(ob), ModifierData *md) ClothModifierData *clmd = (ClothModifierData*)md; if(cloth_uses_vgroup(clmd)) - dataMask |= (1 << CD_MDEFORMVERT); + dataMask |= CD_MASK_MDEFORMVERT; if(clmd->sim_parms->shapekey_rest != 0) - dataMask |= (1 << CD_CLOTH_ORCO); + dataMask |= CD_MASK_CLOTH_ORCO; return dataMask; } diff --git a/source/blender/modifiers/intern/MOD_curve.c b/source/blender/modifiers/intern/MOD_curve.c index 8009ad0589c..39816d1ff12 100644 --- a/source/blender/modifiers/intern/MOD_curve.c +++ b/source/blender/modifiers/intern/MOD_curve.c @@ -66,7 +66,7 @@ static CustomDataMask requiredDataMask(Object *UNUSED(ob), ModifierData *md) CustomDataMask dataMask = 0; /* ask for vertexgroups if we need them */ - if(cmd->name[0]) dataMask |= (1 << CD_MDEFORMVERT); + if(cmd->name[0]) dataMask |= CD_MASK_MDEFORMVERT; return dataMask; } diff --git a/source/blender/modifiers/intern/MOD_displace.c b/source/blender/modifiers/intern/MOD_displace.c index 95e8a9ce4cc..ce41f6dfc1d 100644 --- a/source/blender/modifiers/intern/MOD_displace.c +++ b/source/blender/modifiers/intern/MOD_displace.c @@ -82,10 +82,10 @@ static CustomDataMask requiredDataMask(Object *UNUSED(ob), ModifierData *md) CustomDataMask dataMask = 0; /* ask for vertexgroups if we need them */ - if(dmd->defgrp_name[0]) dataMask |= (1 << CD_MDEFORMVERT); + if(dmd->defgrp_name[0]) dataMask |= CD_MASK_MDEFORMVERT; /* ask for UV coordinates if we need them */ - if(dmd->texmapping == MOD_DISP_MAP_UV) dataMask |= (1 << CD_MTFACE); + if(dmd->texmapping == MOD_DISP_MAP_UV) dataMask |= CD_MASK_MTFACE; return dataMask; } diff --git a/source/blender/modifiers/intern/MOD_explode.c b/source/blender/modifiers/intern/MOD_explode.c index 67f1f2a3e59..dd2c4b6efb6 100644 --- a/source/blender/modifiers/intern/MOD_explode.c +++ b/source/blender/modifiers/intern/MOD_explode.c @@ -84,7 +84,7 @@ static CustomDataMask requiredDataMask(Object *UNUSED(ob), ModifierData *md) CustomDataMask dataMask = 0; if(emd->vgroup) - dataMask |= (1 << CD_MDEFORMVERT); + dataMask |= CD_MASK_MDEFORMVERT; return dataMask; } diff --git a/source/blender/modifiers/intern/MOD_hook.c b/source/blender/modifiers/intern/MOD_hook.c index b7d853d757a..e29b4b456ae 100644 --- a/source/blender/modifiers/intern/MOD_hook.c +++ b/source/blender/modifiers/intern/MOD_hook.c @@ -75,7 +75,7 @@ static CustomDataMask requiredDataMask(Object *UNUSED(ob), ModifierData *md) CustomDataMask dataMask = 0; /* ask for vertexgroups if we need them */ - if(hmd->name[0]) dataMask |= (1 << CD_MDEFORMVERT); + if(hmd->name[0]) dataMask |= CD_MASK_MDEFORMVERT; if(hmd->indexar) dataMask |= CD_MASK_ORIGINDEX; return dataMask; diff --git a/source/blender/modifiers/intern/MOD_lattice.c b/source/blender/modifiers/intern/MOD_lattice.c index fdbc3fa0a50..deb4446fa4e 100644 --- a/source/blender/modifiers/intern/MOD_lattice.c +++ b/source/blender/modifiers/intern/MOD_lattice.c @@ -59,7 +59,7 @@ static CustomDataMask requiredDataMask(Object *UNUSED(ob), ModifierData *md) CustomDataMask dataMask = 0; /* ask for vertexgroups if we need them */ - if(lmd->name[0]) dataMask |= (1 << CD_MDEFORMVERT); + if(lmd->name[0]) dataMask |= CD_MASK_MDEFORMVERT; return dataMask; } diff --git a/source/blender/modifiers/intern/MOD_mask.c b/source/blender/modifiers/intern/MOD_mask.c index eddb21596a6..feaf5d5fd00 100644 --- a/source/blender/modifiers/intern/MOD_mask.c +++ b/source/blender/modifiers/intern/MOD_mask.c @@ -57,7 +57,7 @@ static void copyData(ModifierData *md, ModifierData *target) static CustomDataMask requiredDataMask(Object *UNUSED(ob), ModifierData *UNUSED(md)) { - return (1 << CD_MDEFORMVERT); + return CD_MASK_MDEFORMVERT; } static void foreachObjectLink( diff --git a/source/blender/modifiers/intern/MOD_meshdeform.c b/source/blender/modifiers/intern/MOD_meshdeform.c index 587b3b8f053..8000bceb014 100644 --- a/source/blender/modifiers/intern/MOD_meshdeform.c +++ b/source/blender/modifiers/intern/MOD_meshdeform.c @@ -83,7 +83,7 @@ static CustomDataMask requiredDataMask(Object *UNUSED(ob), ModifierData *md) CustomDataMask dataMask = 0; /* ask for vertexgroups if we need them */ - if(mmd->defgrp_name[0]) dataMask |= (1 << CD_MDEFORMVERT); + if(mmd->defgrp_name[0]) dataMask |= CD_MASK_MDEFORMVERT; return dataMask; } diff --git a/source/blender/modifiers/intern/MOD_particlesystem.c b/source/blender/modifiers/intern/MOD_particlesystem.c index 0feea3b6bf5..9d99174b7c4 100644 --- a/source/blender/modifiers/intern/MOD_particlesystem.c +++ b/source/blender/modifiers/intern/MOD_particlesystem.c @@ -95,17 +95,17 @@ static CustomDataMask requiredDataMask(Object *ob, ModifierData *md) mtex=ma->mtex[i]; if(mtex && (ma->septex & (1<pmapto && (mtex->texco & TEXCO_UV)) - dataMask |= (1 << CD_MTFACE); + dataMask |= CD_MASK_MTFACE; } } if(psmd->psys->part->tanfac!=0.0) - dataMask |= (1 << CD_MTFACE); + dataMask |= CD_MASK_MTFACE; /* ask for vertexgroups if we need them */ for(i=0; ipsys->vgroup[i]){ - dataMask |= (1 << CD_MDEFORMVERT); + dataMask |= CD_MASK_MDEFORMVERT; break; } } diff --git a/source/blender/modifiers/intern/MOD_shrinkwrap.c b/source/blender/modifiers/intern/MOD_shrinkwrap.c index 6eebe9b5e5e..417c73eba98 100644 --- a/source/blender/modifiers/intern/MOD_shrinkwrap.c +++ b/source/blender/modifiers/intern/MOD_shrinkwrap.c @@ -79,11 +79,11 @@ static CustomDataMask requiredDataMask(Object *UNUSED(ob), ModifierData *md) /* ask for vertexgroups if we need them */ if(smd->vgroup_name[0]) - dataMask |= (1 << CD_MDEFORMVERT); + dataMask |= CD_MASK_MDEFORMVERT; if(smd->shrinkType == MOD_SHRINKWRAP_PROJECT && smd->projAxis == MOD_SHRINKWRAP_PROJECT_OVER_NORMAL) - dataMask |= (1 << CD_MVERT); + dataMask |= CD_MASK_MVERT; return dataMask; } diff --git a/source/blender/modifiers/intern/MOD_simpledeform.c b/source/blender/modifiers/intern/MOD_simpledeform.c index 7c47ab02157..9e2d8e16c52 100644 --- a/source/blender/modifiers/intern/MOD_simpledeform.c +++ b/source/blender/modifiers/intern/MOD_simpledeform.c @@ -297,7 +297,7 @@ static CustomDataMask requiredDataMask(Object *UNUSED(ob), ModifierData *md) /* ask for vertexgroups if we need them */ if(smd->vgroup_name[0]) - dataMask |= (1 << CD_MDEFORMVERT); + dataMask |= CD_MASK_MDEFORMVERT; return dataMask; } diff --git a/source/blender/modifiers/intern/MOD_smooth.c b/source/blender/modifiers/intern/MOD_smooth.c index db7013f53ce..e3740a42fff 100644 --- a/source/blender/modifiers/intern/MOD_smooth.c +++ b/source/blender/modifiers/intern/MOD_smooth.c @@ -85,7 +85,7 @@ static CustomDataMask requiredDataMask(Object *UNUSED(ob), ModifierData *md) CustomDataMask dataMask = 0; /* ask for vertexgroups if we need them */ - if(smd->defgrp_name[0]) dataMask |= (1 << CD_MDEFORMVERT); + if(smd->defgrp_name[0]) dataMask |= CD_MASK_MDEFORMVERT; return dataMask; } diff --git a/source/blender/modifiers/intern/MOD_solidify.c b/source/blender/modifiers/intern/MOD_solidify.c index 416dc94d9d2..ae68d42a4bb 100644 --- a/source/blender/modifiers/intern/MOD_solidify.c +++ b/source/blender/modifiers/intern/MOD_solidify.c @@ -185,7 +185,7 @@ static CustomDataMask requiredDataMask(Object *UNUSED(ob), ModifierData *md) CustomDataMask dataMask = 0; /* ask for vertexgroups if we need them */ - if(smd->defgrp_name[0]) dataMask |= (1 << CD_MDEFORMVERT); + if(smd->defgrp_name[0]) dataMask |= CD_MASK_MDEFORMVERT; return dataMask; } @@ -196,7 +196,7 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob, int UNUSED(useRenderParams), int UNUSED(isFinalCalc)) { - int i, *index; + int i; DerivedMesh *result; SolidifyModifierData *smd = (SolidifyModifierData*) md; diff --git a/source/blender/modifiers/intern/MOD_uvproject.c b/source/blender/modifiers/intern/MOD_uvproject.c index 942b4b0b597..08c6477ead3 100644 --- a/source/blender/modifiers/intern/MOD_uvproject.c +++ b/source/blender/modifiers/intern/MOD_uvproject.c @@ -84,7 +84,7 @@ static CustomDataMask requiredDataMask(Object *UNUSED(ob), ModifierData *UNUSED( CustomDataMask dataMask = 0; /* ask for UV coordinates */ - dataMask |= (1 << CD_MTFACE); + dataMask |= CD_MASK_MTFACE; return dataMask; } diff --git a/source/blender/modifiers/intern/MOD_wave.c b/source/blender/modifiers/intern/MOD_wave.c index acd8c29a6dd..255d896fbc0 100644 --- a/source/blender/modifiers/intern/MOD_wave.c +++ b/source/blender/modifiers/intern/MOD_wave.c @@ -149,11 +149,11 @@ static CustomDataMask requiredDataMask(Object *UNUSED(ob), ModifierData *md) /* ask for UV coordinates if we need them */ if(wmd->texture && wmd->texmapping == MOD_WAV_MAP_UV) - dataMask |= (1 << CD_MTFACE); + dataMask |= CD_MASK_MTFACE; /* ask for vertexgroups if we need them */ if(wmd->defgrp_name[0]) - dataMask |= (1 << CD_MDEFORMVERT); + dataMask |= CD_MASK_MDEFORMVERT; return dataMask; } -- cgit v1.2.3 From 98621570877f884e5fa178268d68cbcfd21d585d Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Thu, 21 Oct 2010 04:21:09 +0000 Subject: fix for fix [#24344] crash on adding new image when composite is open and there is no Nodetree also use const prefix in solidify modifier where possible. --- source/blender/blenkernel/intern/node.c | 2 +- source/blender/modifiers/intern/MOD_solidify.c | 16 ++++++++-------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/source/blender/blenkernel/intern/node.c b/source/blender/blenkernel/intern/node.c index cb98c2282bc..6b53e538f8e 100644 --- a/source/blender/blenkernel/intern/node.c +++ b/source/blender/blenkernel/intern/node.c @@ -1803,7 +1803,7 @@ int NodeTagIDChanged(bNodeTree *ntree, ID *id) { int change = FALSE; - if(id==NULL) + if(ELEM(NULL, id, ntree)) return change; if(ntree->type==NTREE_COMPOSIT) { diff --git a/source/blender/modifiers/intern/MOD_solidify.c b/source/blender/modifiers/intern/MOD_solidify.c index ae68d42a4bb..935a3cc627a 100644 --- a/source/blender/modifiers/intern/MOD_solidify.c +++ b/source/blender/modifiers/intern/MOD_solidify.c @@ -198,15 +198,15 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob, { int i; DerivedMesh *result; - SolidifyModifierData *smd = (SolidifyModifierData*) md; + const SolidifyModifierData *smd = (SolidifyModifierData*) md; MFace *mf, *mface, *orig_mface; MEdge *ed, *medge, *orig_medge; MVert *mv, *mvert, *orig_mvert; - int numVerts = dm->getNumVerts(dm); - int numEdges = dm->getNumEdges(dm); - int numFaces = dm->getNumFaces(dm); + const int numVerts = dm->getNumVerts(dm); + const int numEdges = dm->getNumEdges(dm); + const int numFaces = dm->getNumFaces(dm); /* use for edges */ int *new_vert_arr= NULL; @@ -220,13 +220,13 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob, float (*vert_nors)[3]= NULL; - float ofs_orig= - (((-smd->offset_fac + 1.0f) * 0.5f) * smd->offset); - float ofs_new= smd->offset - (((-smd->offset_fac + 1.0f) * 0.5f) * smd->offset); + float const ofs_orig= - (((-smd->offset_fac + 1.0f) * 0.5f) * smd->offset); + float const ofs_new= smd->offset - (((-smd->offset_fac + 1.0f) * 0.5f) * smd->offset); /* weights */ MDeformVert *dvert= NULL, *dv= NULL; - int defgrp_invert = ((smd->flag & MOD_SOLIDIFY_VGROUP_INV) != 0); - int defgrp_index= defgroup_name_index(ob, smd->defgrp_name); + const int defgrp_invert = ((smd->flag & MOD_SOLIDIFY_VGROUP_INV) != 0); + const int defgrp_index= defgroup_name_index(ob, smd->defgrp_name); if (defgrp_index >= 0) dvert = dm->getVertDataArray(dm, CD_MDEFORMVERT); -- cgit v1.2.3 From 9e73da71f51df641cb72cb9f7a5d52f2e8136b06 Mon Sep 17 00:00:00 2001 From: Nathan Letwory Date: Thu, 21 Oct 2010 07:14:31 +0000 Subject: Enable /WX on Windows. --- intern/ghost/SConscript | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/intern/ghost/SConscript b/intern/ghost/SConscript index 4419513c40b..5be8503b2b0 100644 --- a/intern/ghost/SConscript +++ b/intern/ghost/SConscript @@ -60,4 +60,6 @@ if env['BF_GHOST_DEBUG']: incs = '. ../string #extern/glew/include #source/blender/imbuf #source/blender/makesdna ' + env['BF_OPENGL_INC'] if window_system in ('win32-vc', 'win32-mingw', 'cygwin', 'linuxcross', 'win64-vc'): incs = env['BF_WINTAB_INC'] + ' ' + incs -env.BlenderLib ('bf_intern_ghost', sources, Split(incs), defines=defs, libtype=['intern','player'], priority = [40,15] ) + env.BlenderLib ('bf_intern_ghost', sources, Split(incs), defines=defs, libtype=['intern','player'], priority = [40,15], cc_compileflags='/WX' ) +else: + env.BlenderLib ('bf_intern_ghost', sources, Split(incs), defines=defs, libtype=['intern','player'], priority = [40,15] ) -- cgit v1.2.3 From 3cbb5611d5db8e441adb6552f5abbe34312a473e Mon Sep 17 00:00:00 2001 From: Nathan Letwory Date: Thu, 21 Oct 2010 07:16:02 +0000 Subject: * Use HWND_DESKTOP as parent for Blender Windows. * Reorder freeing of OpenGL context code. --- intern/ghost/intern/GHOST_WindowWin32.cpp | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/intern/ghost/intern/GHOST_WindowWin32.cpp b/intern/ghost/intern/GHOST_WindowWin32.cpp index 75abc110743..3512f9c4aeb 100644 --- a/intern/ghost/intern/GHOST_WindowWin32.cpp +++ b/intern/ghost/intern/GHOST_WindowWin32.cpp @@ -175,7 +175,7 @@ GHOST_WindowWin32::GHOST_WindowWin32( top, // vertical position of window width, // window width height, // window height - 0, // handle to parent or owner window + HWND_DESKTOP, // handle to parent or owner window 0, // handle to menu or child-window identifier ::GetModuleHandle(0), // handle to application instance 0); // pointer to window-creation data @@ -189,7 +189,7 @@ GHOST_WindowWin32::GHOST_WindowWin32( top, // vertical position of window width, // window width height, // window height - 0, // handle to parent or owner window + HWND_DESKTOP, // handle to parent or owner window 0, // handle to menu or child-window identifier ::GetModuleHandle(0), // handle to application instance 0); // pointer to window-creation data @@ -695,7 +695,7 @@ GHOST_TSuccess GHOST_WindowWin32::installDrawingContext(GHOST_TDrawingContextTyp m_hGlRc = ::wglCreateContext(m_hDC); if (m_hGlRc) { if (s_firsthGLRc) { - wglShareLists(s_firsthGLRc, m_hGlRc); + ::wglShareLists(s_firsthGLRc, m_hGlRc); } else { s_firsthGLRc = m_hGlRc; } @@ -761,9 +761,10 @@ GHOST_TSuccess GHOST_WindowWin32::removeDrawingContext() switch (m_drawingContextType) { case GHOST_kDrawingContextTypeOpenGL: if (m_hGlRc) { + bool first = m_hGlRc == s_firsthGLRc; success = ::wglDeleteContext(m_hGlRc) == TRUE ? GHOST_kSuccess : GHOST_kFailure; - if (m_hGlRc == s_firsthGLRc) { - s_firsthGLRc = NULL; + if (first) { + s_firsthGLRc = 0; } m_hGlRc = 0; } -- cgit v1.2.3 From 6e43a400e32f0e75176a8c573a1eb93cd4e6b7b8 Mon Sep 17 00:00:00 2001 From: Nathan Letwory Date: Thu, 21 Oct 2010 07:18:38 +0000 Subject: Use one device context for our window class. --- intern/ghost/intern/GHOST_SystemWin32.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/intern/ghost/intern/GHOST_SystemWin32.cpp b/intern/ghost/intern/GHOST_SystemWin32.cpp index da333ce4f08..cf6a5f8dc9e 100644 --- a/intern/ghost/intern/GHOST_SystemWin32.cpp +++ b/intern/ghost/intern/GHOST_SystemWin32.cpp @@ -356,7 +356,7 @@ GHOST_TSuccess GHOST_SystemWin32::init() if (success) { WNDCLASS wc; - wc.style= CS_HREDRAW | CS_VREDRAW; + wc.style= CS_HREDRAW | CS_VREDRAW | CS_CLASSDC; wc.lpfnWndProc= s_wndProc; wc.cbClsExtra= 0; wc.cbWndExtra= 0; -- cgit v1.2.3 From 6fc16a6e44b704c34b2f0a3c65318fdd01491382 Mon Sep 17 00:00:00 2001 From: Nathan Letwory Date: Thu, 21 Oct 2010 07:21:34 +0000 Subject: Silence warning about macro redefinition --- source/blender/blenlib/BLI_winstuff.h | 1 + 1 file changed, 1 insertion(+) diff --git a/source/blender/blenlib/BLI_winstuff.h b/source/blender/blenlib/BLI_winstuff.h index e8689895735..b66790f701f 100644 --- a/source/blender/blenlib/BLI_winstuff.h +++ b/source/blender/blenlib/BLI_winstuff.h @@ -41,6 +41,7 @@ #define WIN32_LEAN_AND_MEAN #ifndef WIN32_SKIP_HKEY_PROTECTION +#undef HKEY #define HKEY WIN32_HKEY // prevent competing definitions #include #undef HKEY -- cgit v1.2.3 From ec6b9948ace08c3925486a009147af2fe0a6e4f0 Mon Sep 17 00:00:00 2001 From: Nathan Letwory Date: Thu, 21 Oct 2010 07:29:15 +0000 Subject: Include BLI_math.h instead of math.h. Silence a warning. --- source/blender/blenkernel/intern/unit.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/source/blender/blenkernel/intern/unit.c b/source/blender/blenkernel/intern/unit.c index 25aab77ba9b..83ace49eb67 100644 --- a/source/blender/blenkernel/intern/unit.c +++ b/source/blender/blenkernel/intern/unit.c @@ -26,11 +26,7 @@ #include #include "BKE_unit.h" -#ifdef WIN32 -#define _USE_MATH_DEFINES -#endif -#include - +#include "BLI_math.h" #include "BLI_winstuff.h" @@ -687,7 +683,7 @@ void bUnit_ToUnitAltName(char *str, int len_max, char *orig_str, int system, int found= unit_find_str(orig_str, unit->name_short); if(found) { - int offset= found - orig_str; + int offset= (int)(found - orig_str); int len_name= 0; /* copy everything before the unit */ -- cgit v1.2.3 From 0ec320783ec5867cc9c29fff9a09a4d8f1b7fbdf Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Thu, 21 Oct 2010 07:38:09 +0000 Subject: fix [#24339] Auto Depth, makes viewport lag. The problem is the opensource nvidia nouveau drivers are slow running glReadPixels(), was hanging on memcpy(). However for autodepth its not needed to update the entire 3D view depths, so added view3d_update_depths_rect() to get the depths for a smaller area. --- source/blender/editors/include/ED_view3d.h | 1 + source/blender/editors/space_view3d/view3d_draw.c | 68 ++++++++++++ source/blender/editors/space_view3d/view3d_edit.c | 117 +++++---------------- .../blender/editors/space_view3d/view3d_intern.h | 2 + 4 files changed, 96 insertions(+), 92 deletions(-) diff --git a/source/blender/editors/include/ED_view3d.h b/source/blender/editors/include/ED_view3d.h index f5a84aa4c19..fe024be29e0 100644 --- a/source/blender/editors/include/ED_view3d.h +++ b/source/blender/editors/include/ED_view3d.h @@ -63,6 +63,7 @@ typedef struct ViewContext { typedef struct ViewDepths { unsigned short w, h; + short x, y; /* only for temp use for sub-rects, added to ar->winx/y */ float *depths; double depth_range[2]; diff --git a/source/blender/editors/space_view3d/view3d_draw.c b/source/blender/editors/space_view3d/view3d_draw.c index 1d18f484ae0..7722ca5605b 100644 --- a/source/blender/editors/space_view3d/view3d_draw.c +++ b/source/blender/editors/space_view3d/view3d_draw.c @@ -1569,7 +1569,51 @@ static void draw_dupli_objects(Scene *scene, ARegion *ar, View3D *v3d, Base *bas draw_dupli_objects_color(scene, ar, v3d, base, color); } +void view3d_update_depths_rect(ARegion *ar, ViewDepths *d, rcti *rect) +{ + int x, y, w, h; + /* clamp rect by area */ + + /* Constrain rect to depth bounds */ + if (rect->xmin < 0) rect->xmin = 0; + if (rect->ymin < 0) rect->ymin = 0; + if (rect->xmax >= ar->winx) rect->xmax = ar->winx-1; + if (rect->ymax >= ar->winy) rect->ymax = ar->winy-1; + + /* assign values to compare with the ViewDepths */ + x= ar->winrct.xmin + rect->xmin; + y= ar->winrct.ymin + rect->ymin; + + w= rect->xmax - rect->xmin; + h= rect->ymax - rect->ymin; + + if( d->w != w || + d->h != h || + d->x != x || + d->y != y || + d->depths==NULL + ) { + d->x= x; + d->y= y; + d->w= w; + d->h= h; + + if(d->depths) + MEM_freeN(d->depths); + + d->depths= MEM_mallocN(sizeof(float)*d->w*d->h,"View depths Subset"); + + d->damaged= 1; + } + if(d->damaged) { + glReadPixels(ar->winrct.xmin+d->x,ar->winrct.ymin+d->y, d->w,d->h, GL_DEPTH_COMPONENT,GL_FLOAT, d->depths); + glGetDoublev(GL_DEPTH_RANGE,d->depth_range); + d->damaged= 0; + } +} + +/* note, with nouveau drivers the glReadPixels() is very slow. [#24339] */ void view3d_update_depths(ARegion *ar) { RegionView3D *rv3d= ar->regiondata; @@ -1600,6 +1644,30 @@ void view3d_update_depths(ARegion *ar) } } +/* utility function to find the closest Z value, use for autodepth */ +float view3d_depth_near(ViewDepths *d) +{ + /* convert to float for comparisons */ + const float near= (float)d->depth_range[0]; + const float far_real= (float)d->depth_range[1]; + float far= far_real; + + const float *depths= d->depths; + float depth= FLT_MAX; + int i= d->w * d->h; + + /* far is both the starting 'far' value + * and the closest value found. */ + while(i--) { + depth= *depths++; + if((depth < far) && (depth > near)) { + far= depth; + } + } + + return far == far_real ? FLT_MAX : far; +} + void draw_depth_gpencil(Scene *scene, ARegion *ar, View3D *v3d) { short zbuf= v3d->zbuf; diff --git a/source/blender/editors/space_view3d/view3d_edit.c b/source/blender/editors/space_view3d/view3d_edit.c index dc75efcc5ca..a5cca6341f6 100644 --- a/source/blender/editors/space_view3d/view3d_edit.c +++ b/source/blender/editors/space_view3d/view3d_edit.c @@ -63,6 +63,7 @@ #include "ED_screen.h" #include "ED_transform.h" #include "ED_mesh.h" +#include "ED_view3d.h" #include "PIL_time.h" /* smoothview */ @@ -1667,10 +1668,8 @@ static int view3d_zoom_border_exec(bContext *C, wmOperator *op) /* ZBuffer depth vars */ bglMats mats; - float depth, depth_close= FLT_MAX; - int had_depth = 0; + float depth_close= FLT_MAX; double cent[2], p[3]; - int xs, ys; /* note; otherwise opengl won't work */ view3d_operator_needs_opengl(C); @@ -1684,38 +1683,19 @@ static int view3d_zoom_border_exec(bContext *C, wmOperator *op) /* Get Z Depths, needed for perspective, nice for ortho */ bgl_get_mats(&mats); draw_depth(scene, ar, v3d, NULL); + + { + /* avoid allocating the whole depth buffer */ + ViewDepths depth_temp= {0}; - /* force updating */ - if (rv3d->depths) { - had_depth = 1; - rv3d->depths->damaged = 1; - } - - view3d_update_depths(ar); - - /* Constrain rect to depth bounds */ - if (rect.xmin < 0) rect.xmin = 0; - if (rect.ymin < 0) rect.ymin = 0; - if (rect.xmax >= rv3d->depths->w) rect.xmax = rv3d->depths->w-1; - if (rect.ymax >= rv3d->depths->h) rect.ymax = rv3d->depths->h-1; - - /* Find the closest Z pixel */ - for (xs=rect.xmin; xs < rect.xmax; xs++) { - for (ys=rect.ymin; ys < rect.ymax; ys++) { - depth= rv3d->depths->depths[ys*rv3d->depths->w+xs]; - if(depth < rv3d->depths->depth_range[1] && depth > rv3d->depths->depth_range[0]) { - if (depth_close > depth) { - depth_close = depth; - } - } - } - } - - if (had_depth==0) { - MEM_freeN(rv3d->depths->depths); - rv3d->depths->depths = NULL; + /* avoid view3d_update_depths() for speed. */ + view3d_update_depths_rect(ar, &depth_temp, &rect); + + /* find the closest Z pixel */ + depth_close= view3d_depth_near(&depth_temp); + + MEM_freeN(depth_temp.depths); } - rv3d->depths->damaged = 1; cent[0] = (((double)rect.xmin)+((double)rect.xmax)) / 2; cent[1] = (((double)rect.ymin)+((double)rect.ymax)) / 2; @@ -2574,88 +2554,49 @@ void VIEW3D_OT_enable_manipulator(wmOperatorType *ot) static float view_autodist_depth_margin(ARegion *ar, short *mval, int margin) { - RegionView3D *rv3d= ar->regiondata; - float depth= FLT_MAX; + ViewDepths depth_temp= {0}; + rcti rect; + float depth_close; if(margin==0) { - if (mval[0] < 0) return 0; - if (mval[1] < 0) return 0; - if (mval[0] >= rv3d->depths->w) return 0; - if (mval[1] >= rv3d->depths->h) return 0; - /* Get Z Depths, needed for perspective, nice for ortho */ - depth= rv3d->depths->depths[mval[1]*rv3d->depths->w+mval[0]]; - if(depth >= rv3d->depths->depth_range[1] || depth <= rv3d->depths->depth_range[0]) { - depth= FLT_MAX; - } + rect.xmin= mval[0]; + rect.ymin= mval[1]; + rect.xmax= mval[0] + 1; + rect.ymax= mval[1] + 1; } else { - rcti rect; - float depth_close= FLT_MAX; - int xs, ys; - rect.xmax = mval[0] + margin; rect.ymax = mval[1] + margin; rect.xmin = mval[0] - margin; rect.ymin = mval[1] - margin; + } - /* Constrain rect to depth bounds */ - if (rect.xmin < 0) rect.xmin = 0; - if (rect.ymin < 0) rect.ymin = 0; - if (rect.xmax >= rv3d->depths->w) rect.xmax = rv3d->depths->w-1; - if (rect.ymax >= rv3d->depths->h) rect.ymax = rv3d->depths->h-1; - - /* Find the closest Z pixel */ - for (xs=rect.xmin; xs < rect.xmax; xs++) { - for (ys=rect.ymin; ys < rect.ymax; ys++) { - depth= rv3d->depths->depths[ys*rv3d->depths->w+xs]; - if(depth < rv3d->depths->depth_range[1] && depth > rv3d->depths->depth_range[0]) { - if (depth_close > depth) { - depth_close = depth; - } - } - } - } + view3d_update_depths_rect(ar, &depth_temp, &rect); + depth_close= view3d_depth_near(&depth_temp); - depth= depth_close; - } + MEM_freeN(depth_temp.depths); - return depth; + return depth_close; } /* XXX todo Zooms in on a border drawn by the user */ int view_autodist(Scene *scene, ARegion *ar, View3D *v3d, short *mval, float mouse_worldloc[3] ) //, float *autodist ) { - RegionView3D *rv3d= ar->regiondata; bglMats mats; /* ZBuffer depth vars */ float depth_close= FLT_MAX; - int had_depth = 0; double cent[2], p[3]; /* Get Z Depths, needed for perspective, nice for ortho */ bgl_get_mats(&mats); draw_depth(scene, ar, v3d, NULL); - /* force updating */ - if (rv3d->depths) { - had_depth = 1; - rv3d->depths->damaged = 1; - } - - view3d_update_depths(ar); - depth_close= view_autodist_depth_margin(ar, mval, 4); if (depth_close==FLT_MAX) return 0; - if (had_depth==0) { - MEM_freeN(rv3d->depths->depths); - rv3d->depths->depths = NULL; - } - rv3d->depths->damaged = 1; - cent[0] = (double)mval[0]; cent[1] = (double)mval[1]; @@ -2670,8 +2611,6 @@ int view_autodist(Scene *scene, ARegion *ar, View3D *v3d, short *mval, float mou int view_autodist_init(Scene *scene, ARegion *ar, View3D *v3d, int mode) //, float *autodist ) { - RegionView3D *rv3d= ar->regiondata; - /* Get Z Depths, needed for perspective, nice for ortho */ switch(mode) { case 0: @@ -2682,12 +2621,6 @@ int view_autodist_init(Scene *scene, ARegion *ar, View3D *v3d, int mode) //, flo break; } - /* force updating */ - if (rv3d->depths) { - rv3d->depths->damaged = 1; - } - - view3d_update_depths(ar); return 1; } diff --git a/source/blender/editors/space_view3d/view3d_intern.h b/source/blender/editors/space_view3d/view3d_intern.h index d6d8fddd442..e81d0b87589 100644 --- a/source/blender/editors/space_view3d/view3d_intern.h +++ b/source/blender/editors/space_view3d/view3d_intern.h @@ -131,6 +131,8 @@ void add_view3d_after(ListBase *lb, Base *base, int flag); void circf(float x, float y, float rad); void circ(float x, float y, float rad); void view3d_update_depths(struct ARegion *ar); +void view3d_update_depths_rect(struct ARegion *ar, struct ViewDepths *d, struct rcti *rect); +float view3d_depth_near(struct ViewDepths *d); /* view3d_select.c */ void VIEW3D_OT_select(struct wmOperatorType *ot); -- cgit v1.2.3 From 107b274fb8e43246054348733ff32bb38f742eba Mon Sep 17 00:00:00 2001 From: Nathan Letwory Date: Thu, 21 Oct 2010 07:39:18 +0000 Subject: Enable /WX in blenkernel Silence warnings --- intern/ghost/SConscript | 2 +- source/blender/blenkernel/BKE_idprop.h | 2 +- source/blender/blenkernel/SConscript | 5 ++++- source/blender/blenkernel/intern/writeffmpeg.c | 6 ++---- source/blender/blenlib/BLI_winstuff.h | 2 +- 5 files changed, 9 insertions(+), 8 deletions(-) diff --git a/intern/ghost/SConscript b/intern/ghost/SConscript index 5be8503b2b0..de8dd51d2dc 100644 --- a/intern/ghost/SConscript +++ b/intern/ghost/SConscript @@ -60,6 +60,6 @@ if env['BF_GHOST_DEBUG']: incs = '. ../string #extern/glew/include #source/blender/imbuf #source/blender/makesdna ' + env['BF_OPENGL_INC'] if window_system in ('win32-vc', 'win32-mingw', 'cygwin', 'linuxcross', 'win64-vc'): incs = env['BF_WINTAB_INC'] + ' ' + incs - env.BlenderLib ('bf_intern_ghost', sources, Split(incs), defines=defs, libtype=['intern','player'], priority = [40,15], cc_compileflags='/WX' ) + env.BlenderLib ('bf_intern_ghost', sources, Split(incs), defines=defs, libtype=['intern','player'], priority = [40,15], cc_compileflags=['/WX'] ) else: env.BlenderLib ('bf_intern_ghost', sources, Split(incs), defines=defs, libtype=['intern','player'], priority = [40,15] ) diff --git a/source/blender/blenkernel/BKE_idprop.h b/source/blender/blenkernel/BKE_idprop.h index 0e0d76f4284..eb33479cdb4 100644 --- a/source/blender/blenkernel/BKE_idprop.h +++ b/source/blender/blenkernel/BKE_idprop.h @@ -33,7 +33,7 @@ struct IDProperty; struct ID; -typedef union { +typedef union IDPropertyTemplate { int i; float f; double d; diff --git a/source/blender/blenkernel/SConscript b/source/blender/blenkernel/SConscript index 954b7759b46..3793eb8cc64 100644 --- a/source/blender/blenkernel/SConscript +++ b/source/blender/blenkernel/SConscript @@ -89,4 +89,7 @@ if env['WITH_BF_LZMA']: if env['OURPLATFORM'] in ('win32-vc', 'win32-mingw', 'linuxcross', 'win64-vc'): incs += ' ' + env['BF_PTHREADS_INC'] -env.BlenderLib ( libname = 'bf_blenkernel', sources = sources, includes = Split(incs), defines = defs, libtype=['core','player'], priority = [166,25] ) +if env['OURPLATFORM'] in ('win32-vc', 'win64-vc'): + env.BlenderLib ( libname = 'bf_blenkernel', sources = sources, includes = Split(incs), defines = defs, libtype=['core','player'], priority = [166,25], cc_compileflags = ['/WX'] ) +else: + env.BlenderLib ( libname = 'bf_blenkernel', sources = sources, includes = Split(incs), defines = defs, libtype=['core','player'], priority = [166,25] ) diff --git a/source/blender/blenkernel/intern/writeffmpeg.c b/source/blender/blenkernel/intern/writeffmpeg.c index aae26da02dd..30a804be637 100644 --- a/source/blender/blenkernel/intern/writeffmpeg.c +++ b/source/blender/blenkernel/intern/writeffmpeg.c @@ -1058,6 +1058,8 @@ IDProperty *ffmpeg_property_add(RenderData *rd, char * type, int opt_index, int IDPropertyTemplate val; int idp_type; char name[256]; + + val.i = 0; avcodec_get_context_defaults(&c); @@ -1065,8 +1067,6 @@ IDProperty *ffmpeg_property_add(RenderData *rd, char * type, int opt_index, int parent = c.av_class->option + parent_index; if (!rd->ffcodecdata.properties) { - IDPropertyTemplate val; - rd->ffcodecdata.properties = IDP_New(IDP_GROUP, val, "ffmpeg"); } @@ -1075,8 +1075,6 @@ IDProperty *ffmpeg_property_add(RenderData *rd, char * type, int opt_index, int rd->ffcodecdata.properties, (char*) type); if (!group) { - IDPropertyTemplate val; - group = IDP_New(IDP_GROUP, val, (char*) type); IDP_AddToGroup(rd->ffcodecdata.properties, group); } diff --git a/source/blender/blenlib/BLI_winstuff.h b/source/blender/blenlib/BLI_winstuff.h index b66790f701f..c9a85cf890e 100644 --- a/source/blender/blenlib/BLI_winstuff.h +++ b/source/blender/blenlib/BLI_winstuff.h @@ -35,7 +35,7 @@ #ifdef _WIN32 #ifndef FREE_WINDOWS -#pragma warning(once: 4761 4305 4244 4018) +#pragma warning(once: 4761 4305 4244) #endif #define WIN32_LEAN_AND_MEAN -- cgit v1.2.3 From c4ad3cb5c471abd8d8722e07e4780d930660296e Mon Sep 17 00:00:00 2001 From: Nathan Letwory Date: Thu, 21 Oct 2010 07:48:51 +0000 Subject: Same warning suppression as with SCons --- CMakeLists.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 1802698ab92..c2768c7301f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -402,8 +402,8 @@ IF(WIN32) SET(LLIBS kernel32 user32 gdi32 comdlg32 advapi32 shell32 ole32 oleaut32 uuid ws2_32 vfw32 winmm) ENDIF(CMAKE_CL_64) - SET(CMAKE_CXX_FLAGS "/D_CRT_NONSTDC_NO_DEPRECATE /D_CRT_SECURE_NO_DEPRECATE /D_SCL_SECURE_NO_DEPRECATE /we4013 /wd4800 /wd4244 /wd4305" CACHE STRING "MSVC MT C++ flags " FORCE) - SET(CMAKE_C_FLAGS "/D_CRT_NONSTDC_NO_DEPRECATE /D_CRT_SECURE_NO_DEPRECATE /D_SCL_SECURE_NO_DEPRECATE /we4013 /wd4800 /wd4244 /wd4305" CACHE STRING "MSVC MT C++ flags " FORCE) + SET(CMAKE_CXX_FLAGS "/D_CRT_NONSTDC_NO_DEPRECATE /D_CRT_SECURE_NO_DEPRECATE /D_SCL_SECURE_NO_DEPRECATE /we4013 /wd4800 /wd4244 /wd4305 /wd4065 /wd4267" CACHE STRING "MSVC MT C++ flags " FORCE) + SET(CMAKE_C_FLAGS "/D_CRT_NONSTDC_NO_DEPRECATE /D_CRT_SECURE_NO_DEPRECATE /D_SCL_SECURE_NO_DEPRECATE /we4013 /wd4800 /wd4244 /wd4305 /wd4065 /wd4267" CACHE STRING "MSVC MT C++ flags " FORCE) IF(CMAKE_CL_64) SET(CMAKE_CXX_FLAGS_DEBUG "/D_DEBUG /Od /Gm /EHsc /RTC1 /MTd /W3 /nologo /Zi /J" CACHE STRING "MSVC MT flags " FORCE) -- cgit v1.2.3 From c9d16d0ddb01c06bddbb5178ad1ae4829d8ab7ab Mon Sep 17 00:00:00 2001 From: Nathan Letwory Date: Thu, 21 Oct 2010 08:32:53 +0000 Subject: /WX enabled for MSVC in CMake too. Warning fixes. --- intern/ghost/CMakeLists.txt | 1 + source/blender/blenkernel/BKE_collision.h | 2 +- source/blender/blenkernel/CMakeLists.txt | 1 + source/blender/blenkernel/intern/cloth.c | 11 ++++++----- source/blender/blenkernel/intern/collision.c | 14 +++++++------- source/blender/blenkernel/intern/colortools.c | 3 ++- source/blender/blenkernel/intern/fmodifier.c | 6 +++--- source/blender/blenkernel/intern/implicit.c | 12 ++++++------ source/blender/blenkernel/intern/ipo.c | 4 ++-- source/blender/blenkernel/intern/multires.c | 11 ++++++----- source/blender/blenkernel/intern/sequencer.c | 4 +--- source/blender/blenkernel/intern/text.c | 4 ++-- source/blender/blenkernel/intern/writeffmpeg.c | 2 +- 13 files changed, 39 insertions(+), 36 deletions(-) diff --git a/intern/ghost/CMakeLists.txt b/intern/ghost/CMakeLists.txt index 559d160cba2..cd3bbd00b9f 100644 --- a/intern/ghost/CMakeLists.txt +++ b/intern/ghost/CMakeLists.txt @@ -69,6 +69,7 @@ IF(APPLE) ADD_DEFINITIONS(-DWITH_QUICKTIME) ENDIF(WITH_QUICKTIME) ELSEIF(WIN32) + SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /WX") LIST(APPEND INC ${WINTAB_INC}) LIST(APPEND SRC diff --git a/source/blender/blenkernel/BKE_collision.h b/source/blender/blenkernel/BKE_collision.h index d7ae7df9342..03d4800076c 100644 --- a/source/blender/blenkernel/BKE_collision.h +++ b/source/blender/blenkernel/BKE_collision.h @@ -136,7 +136,7 @@ void interpolateOnTriangle ( float to[3], float v1[3], float v2[3], float v3[3], ///////////////////////////////////////////////// // used in effect.c ///////////////////////////////////////////////// -struct Object **get_collisionobjects(struct Scene *scene, struct Object *self, struct Group *group, int *numcollobj); +struct Object **get_collisionobjects(struct Scene *scene, struct Object *self, struct Group *group, unsigned int *numcollobj); typedef struct ColliderCache { struct ColliderCache *next, *prev; diff --git a/source/blender/blenkernel/CMakeLists.txt b/source/blender/blenkernel/CMakeLists.txt index 1b6411e4f64..f6c8febd955 100644 --- a/source/blender/blenkernel/CMakeLists.txt +++ b/source/blender/blenkernel/CMakeLists.txt @@ -130,6 +130,7 @@ IF(WITH_LZMA) ENDIF(WITH_LZMA) IF(WIN32) + SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /WX") LIST(APPEND INC ${PTHREADS_INC}) ENDIF(WIN32) diff --git a/source/blender/blenkernel/intern/cloth.c b/source/blender/blenkernel/intern/cloth.c index f1b167b38c7..f8772cd802f 100644 --- a/source/blender/blenkernel/intern/cloth.c +++ b/source/blender/blenkernel/intern/cloth.c @@ -385,7 +385,8 @@ static int do_step_cloth(Object *ob, ClothModifierData *clmd, DerivedMesh *resul Cloth *cloth; ListBase *effectors = NULL; MVert *mvert; - int i, ret = 0; + unsigned int i = 0; + int ret = 0; /* simulate 1 frame forward */ cloth = clmd->clothObject; @@ -1044,10 +1045,10 @@ static int cloth_build_springs ( ClothModifierData *clmd, DerivedMesh *dm ) Cloth *cloth = clmd->clothObject; ClothSpring *spring = NULL, *tspring = NULL, *tspring2 = NULL; unsigned int struct_springs = 0, shear_springs=0, bend_springs = 0; - int i = 0; - int numverts = dm->getNumVerts ( dm ); - int numedges = dm->getNumEdges ( dm ); - int numfaces = dm->getNumFaces ( dm ); + unsigned int i = 0; + unsigned int numverts = (unsigned int)dm->getNumVerts ( dm ); + unsigned int numedges = (unsigned int)dm->getNumEdges ( dm ); + unsigned int numfaces = (unsigned int)dm->getNumFaces ( dm ); MEdge *medge = CDDM_get_edges ( dm ); MFace *mface = CDDM_get_faces ( dm ); int index2 = 0; // our second vertex index diff --git a/source/blender/blenkernel/intern/collision.c b/source/blender/blenkernel/intern/collision.c index 5c9cc441b95..62b587029e1 100644 --- a/source/blender/blenkernel/intern/collision.c +++ b/source/blender/blenkernel/intern/collision.c @@ -83,7 +83,7 @@ BVHTree *bvhtree_build_from_mvert ( MFace *mfaces, unsigned int numfaces, MVert { BVHTree *tree; float co[12]; - int i; + unsigned int i; MFace *tface = mfaces; tree = BLI_bvhtree_new ( numfaces*2, epsilon, 4, 26 ); @@ -1342,12 +1342,12 @@ static void add_collision_object(Object ***objs, int *numobj, int *maxobj, Objec // return all collision objects in scene // collision object will exclude self -Object **get_collisionobjects(Scene *scene, Object *self, Group *group, int *numcollobj) +Object **get_collisionobjects(Scene *scene, Object *self, Group *group, unsigned int *numcollobj) { Base *base; Object **objs; GroupObject *go; - int numobj= 0, maxobj= 100; + unsigned int numobj= 0, maxobj= 100; objs= MEM_callocN(sizeof(Object *)*maxobj, "CollisionObjectsArray"); @@ -1503,12 +1503,12 @@ int cloth_bvh_objcollision (Object *ob, ClothModifierData * clmd, float step, fl { Cloth *cloth= clmd->clothObject; BVHTree *cloth_bvh= cloth->bvhtree; - int i=0, numfaces = 0, numverts = 0, k, l, j; + unsigned int i=0, numfaces = 0, numverts = 0, k, l, j; int rounds = 0; // result counts applied collisions; ic is for debug output; ClothVertex *verts = NULL; int ret = 0, ret2 = 0; Object **collobjs = NULL; - int numcollobj = 0; + unsigned int numcollobj = 0; if ((clmd->sim_parms->flags & CLOTH_SIMSETTINGS_FLAG_COLLOBJ) || cloth_bvh==NULL) return 0; @@ -1605,11 +1605,11 @@ int cloth_bvh_objcollision (Object *ob, ClothModifierData * clmd, float step, fl //////////////////////////////////////////////////////////// if ( clmd->coll_parms->flags & CLOTH_COLLSETTINGS_FLAG_SELF ) { - for(l = 0; l < clmd->coll_parms->self_loop_count; l++) + for(l = 0; l < (unsigned int)clmd->coll_parms->self_loop_count; l++) { // TODO: add coll quality rounds again BVHTreeOverlap *overlap = NULL; - int result = 0; + unsigned int result = 0; // collisions = 1; verts = cloth->verts; // needed for openMP diff --git a/source/blender/blenkernel/intern/colortools.c b/source/blender/blenkernel/intern/colortools.c index 2d4e0ac8c08..86d7cbf0133 100644 --- a/source/blender/blenkernel/intern/colortools.c +++ b/source/blender/blenkernel/intern/colortools.c @@ -1004,7 +1004,8 @@ DO_INLINE void save_sample_line(Scopes *scopes, const int idx, const float fx, f void scopes_update(Scopes *scopes, ImBuf *ibuf, int use_color_management) { - int x, y, c, n, nl; + int x, y, c; + unsigned int n, nl; double div, divl; float *rf=NULL; unsigned char *rc=NULL; diff --git a/source/blender/blenkernel/intern/fmodifier.c b/source/blender/blenkernel/intern/fmodifier.c index 6660442b14a..c900f178ca7 100644 --- a/source/blender/blenkernel/intern/fmodifier.c +++ b/source/blender/blenkernel/intern/fmodifier.c @@ -146,7 +146,7 @@ static void fcm_generator_verify (FModifier *fcm) nc= MEM_callocN(sizeof(float)*(data->poly_order+1), "FMod_Generator_Coefs"); if (data->coefficients) { - if (data->arraysize > (data->poly_order+1)) + if ((int)data->arraysize > (data->poly_order+1)) memcpy(nc, data->coefficients, sizeof(float)*(data->poly_order+1)); else memcpy(nc, data->coefficients, sizeof(float)*data->arraysize); @@ -172,7 +172,7 @@ static void fcm_generator_verify (FModifier *fcm) nc= MEM_callocN(sizeof(float)*(data->poly_order*2), "FMod_Generator_Coefs"); if (data->coefficients) { - if (data->arraysize > (data->poly_order * 2)) + if (data->arraysize > (unsigned int)(data->poly_order * 2)) memcpy(nc, data->coefficients, sizeof(float)*(data->poly_order * 2)); else memcpy(nc, data->coefficients, sizeof(float)*data->arraysize); @@ -240,7 +240,7 @@ static void fcm_generator_evaluate (FCurve *UNUSED(fcu), FModifier *fcm, float * unsigned int i; /* for each coefficient pair, solve for that bracket before accumulating in value by multiplying */ - for (cp=data->coefficients, i=0; (cp) && (i < data->poly_order); cp+=2, i++) + for (cp=data->coefficients, i=0; (cp) && (i < (unsigned int)data->poly_order); cp+=2, i++) value *= (cp[0]*evaltime + cp[1]); /* only if something changed, write *cvalue in one go */ diff --git a/source/blender/blenkernel/intern/implicit.c b/source/blender/blenkernel/intern/implicit.c index e0077ec7d26..6ca95752887 100644 --- a/source/blender/blenkernel/intern/implicit.c +++ b/source/blender/blenkernel/intern/implicit.c @@ -1425,7 +1425,7 @@ typedef struct HairGridVert { by Lena Petrovic, Mark Henne and John Anderson * Pixar Technical Memo #06-08, Pixar Animation Studios */ -static void hair_velocity_smoothing(ClothModifierData *clmd, lfVector *lF, lfVector *lX, lfVector *lV, int numverts) +static void hair_velocity_smoothing(ClothModifierData *clmd, lfVector *lF, lfVector *lX, lfVector *lV, unsigned int numverts) { /* TODO: This is an initial implementation and should be made much better in due time. * What should at least be implemented is a grid size parameter and a smoothing kernel @@ -1441,10 +1441,10 @@ static void hair_velocity_smoothing(ClothModifierData *clmd, lfVector *lF, lfVec /* 2.0f is an experimental value that seems to give good results */ float smoothfac = 2.0f * clmd->sim_parms->velocity_smooth; float collfac = 2.0f * clmd->sim_parms->collider_friction; - int v = 0; - int i = 0; - int j = 0; - int k = 0; + unsigned int v = 0; + unsigned int i = 0; + int j = 0; + int k = 0; INIT_MINMAX(gmin, gmax); @@ -1559,7 +1559,7 @@ static void cloth_calc_force(ClothModifierData *clmd, float UNUSED(frame), lfVec { /* Collect forces and derivatives: F,dFdX,dFdV */ Cloth *cloth = clmd->clothObject; - int i = 0; + unsigned int i = 0; float spring_air = clmd->sim_parms->Cvi * 0.01f; /* viscosity of air scaled in percent */ float gravity[3] = {0.0f, 0.0f, 0.0f}; float tm2[3][3] = {{-spring_air,0,0}, {0,-spring_air,0},{0,0,-spring_air}}; diff --git a/source/blender/blenkernel/intern/ipo.c b/source/blender/blenkernel/intern/ipo.c index 846592f0f2f..b6a6607e062 100644 --- a/source/blender/blenkernel/intern/ipo.c +++ b/source/blender/blenkernel/intern/ipo.c @@ -1123,7 +1123,7 @@ static void icu_to_fcurves (ID *id, ListBase *groups, ListBase *list, IpoCurve * { AdrBit2Path *abp; FCurve *fcu; - int i=0, totbits; + unsigned int i=0, totbits; /* allocate memory for a new F-Curve */ fcu= MEM_callocN(sizeof(FCurve), "FCurve"); @@ -1174,7 +1174,7 @@ static void icu_to_fcurves (ID *id, ListBase *groups, ListBase *list, IpoCurve * abp= adrcode_bitmaps_to_paths(icu->blocktype, icu->adrcode, &totbits); if (abp && totbits) { FCurve *fcurve; - int b; + unsigned int b; if (G.f & G_DEBUG) printf("\tconvert bitflag ipocurve, totbits = %d \n", totbits); diff --git a/source/blender/blenkernel/intern/multires.c b/source/blender/blenkernel/intern/multires.c index b0ab947d478..91f15d1ee6c 100644 --- a/source/blender/blenkernel/intern/multires.c +++ b/source/blender/blenkernel/intern/multires.c @@ -1158,18 +1158,19 @@ static void multires_load_old_dm(DerivedMesh *dm, Mesh *me, int totlvl) MultiresLevel *lvl, *lvl1; Multires *mr= me->mr; MVert *vsrc, *vdst; - int src, dst; + unsigned int src, dst; int st = multires_side_tot[totlvl - 1] - 1; int extedgelen = multires_side_tot[totlvl] - 2; int *vvmap; // inorder for dst, map to src int crossedgelen; - int i, j, s, x, totvert, tottri, totquad; + int s, x, tottri, totquad; + unsigned int i, j, totvert; src = 0; dst = 0; vsrc = mr->verts; vdst = dm->getVertArray(dm); - totvert = dm->getNumVerts(dm); + totvert = (unsigned int)dm->getNumVerts(dm); vvmap = MEM_callocN(sizeof(int) * totvert, "multires vvmap"); lvl1 = mr->levels.first; @@ -1260,7 +1261,7 @@ static void multires_load_old_dm(DerivedMesh *dm, Mesh *me, int totlvl) fmem = MEM_callocN(sizeof(IndexNode*) * (mr->level_count-1), "multires fmem"); emem = MEM_callocN(sizeof(IndexNode*) * (mr->level_count-1), "multires emem"); lvl = lvl1; - for(i = 0; i < mr->level_count - 1; ++i) { + for(i = 0; i < (unsigned int)mr->level_count - 1; ++i) { create_old_vert_face_map(fmap + i, fmem + i, lvl->faces, lvl->totvert, lvl->totface); create_old_vert_edge_map(emap + i, emem + i, lvl->edges, lvl->totvert, lvl->totedge); lvl = lvl->next; @@ -1297,7 +1298,7 @@ static void multires_load_old_dm(DerivedMesh *dm, Mesh *me, int totlvl) lvl = lvl->next; - for(i = 0; i < mr->level_count - 1; ++i) { + for(i = 0; i < (unsigned int)(mr->level_count - 1); ++i) { MEM_freeN(fmap[i]); MEM_freeN(fmem[i]); MEM_freeN(emap[i]); diff --git a/source/blender/blenkernel/intern/sequencer.c b/source/blender/blenkernel/intern/sequencer.c index 21b7cfd010c..5950a4630b7 100644 --- a/source/blender/blenkernel/intern/sequencer.c +++ b/source/blender/blenkernel/intern/sequencer.c @@ -62,8 +62,6 @@ #include "IMB_imbuf.h" #include "IMB_imbuf_types.h" - - #include "BKE_context.h" #include "BKE_sound.h" #include "AUD_C-API.h" @@ -3219,7 +3217,7 @@ void seq_offset_animdata(Scene *scene, Sequence *seq, int ofs) for (fcu= scene->adt->action->curves.first; fcu; fcu= fcu->next) { if(strstr(fcu->rna_path, "sequence_editor.sequences_all[") && strstr(fcu->rna_path, str)) { - int i; + unsigned int i; for (i = 0; i < fcu->totvert; i++) { BezTriple *bezt= &fcu->bezt[i]; bezt->vec[0][0] += ofs; diff --git a/source/blender/blenkernel/intern/text.c b/source/blender/blenkernel/intern/text.c index bb1a1a88a09..cb3c0c08cc0 100644 --- a/source/blender/blenkernel/intern/text.c +++ b/source/blender/blenkernel/intern/text.c @@ -991,8 +991,8 @@ void txt_move_to (Text *text, unsigned int line, unsigned int ch, short sel) if ((*linep)->next) *linep= (*linep)->next; else break; } - if (ch>(*linep)->len) - ch= (*linep)->len; + if (ch>(unsigned int)((*linep)->len)) + ch= (unsigned int)((*linep)->len); *charp= ch; if(!sel) txt_pop_sel(text); diff --git a/source/blender/blenkernel/intern/writeffmpeg.c b/source/blender/blenkernel/intern/writeffmpeg.c index 30a804be637..0ec38a035aa 100644 --- a/source/blender/blenkernel/intern/writeffmpeg.c +++ b/source/blender/blenkernel/intern/writeffmpeg.c @@ -955,7 +955,7 @@ int append_ffmpeg(RenderData *rd, int frame, int *pixels, int rectx, int recty, void end_ffmpeg(void) { - int i; + unsigned int i; fprintf(stderr, "Closing ffmpeg...\n"); -- cgit v1.2.3 From fde19bfe7e7bb01d9c78928e342afb953d28b2b2 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Thu, 21 Oct 2010 09:02:21 +0000 Subject: bugfix [#24347] Fly mode: Immediately after pressing Shift+F, keys W and S work, keys A, D, R and F do not --- source/blender/editors/space_view3d/view3d_view.c | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/source/blender/editors/space_view3d/view3d_view.c b/source/blender/editors/space_view3d/view3d_view.c index 8b3d99e355d..15e04f31f2f 100644 --- a/source/blender/editors/space_view3d/view3d_view.c +++ b/source/blender/editors/space_view3d/view3d_view.c @@ -2282,30 +2282,32 @@ static void flyEvent(FlyInfo *fly, wmEvent *event) /* impliment WASD keys */ case FLY_MODAL_DIR_FORWARD: if (fly->speed < 0.0f) fly->speed= -fly->speed; /* flip speed rather then stopping, game like motion */ - else fly->speed += fly->grid; /* increse like mousewheel if were already moving in that difection*/ + else if (fly->axis==2) fly->speed += fly->grid; /* increse like mousewheel if were already moving in that difection*/ fly->axis= 2; break; case FLY_MODAL_DIR_BACKWARD: - if (fly->speed>0) fly->speed= -fly->speed; - else fly->speed -= fly->grid; + if (fly->speed > 0.0f) fly->speed= -fly->speed; + else if (fly->axis==2) fly->speed -= fly->grid; fly->axis= 2; break; case FLY_MODAL_DIR_LEFT: if (fly->speed < 0.0f) fly->speed= -fly->speed; + else if (fly->axis==0) fly->speed += fly->grid; fly->axis= 0; break; case FLY_MODAL_DIR_RIGHT: if (fly->speed > 0.0f) fly->speed= -fly->speed; + else if (fly->axis==0) fly->speed -= fly->grid; fly->axis= 0; break; - - case FLY_MODAL_DIR_UP: - if (fly->speed > 0.0f) fly->speed= -fly->speed; - fly->axis= 1; - break; - case FLY_MODAL_DIR_DOWN: if (fly->speed < 0.0f) fly->speed= -fly->speed; + else if (fly->axis==1) fly->speed += fly->grid; + fly->axis= 1; + break; + case FLY_MODAL_DIR_UP: + if (fly->speed > 0.0f) fly->speed= -fly->speed; + else if (fly->axis==1) fly->speed -= fly->grid; fly->axis= 1; break; -- cgit v1.2.3 From 2e6fcc31cb003ed22060a16e6898c9ba08d241bf Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Thu, 21 Oct 2010 09:19:52 +0000 Subject: tweaks to external libs to get rid of warnings. --- extern/libopenjpeg/event.c | 4 ++-- intern/opennl/superlu/smemory.c | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/extern/libopenjpeg/event.c b/extern/libopenjpeg/event.c index 291ff585811..fe46e423552 100644 --- a/extern/libopenjpeg/event.c +++ b/extern/libopenjpeg/event.c @@ -29,7 +29,7 @@ /* ========================================================== Utility functions ==========================================================*/ - +#if 0 #if !defined(_MSC_VER) && !defined(__MINGW32__) static char* i2a(unsigned i, char *a, unsigned r) { @@ -58,7 +58,7 @@ _itoa(int i, char *a, int r) { } #endif /* !WIN32 */ - +#endif /* unused - campbell */ /* ----------------------------------------------------------------------- */ opj_event_mgr_t* OPJ_CALLCONV opj_set_event_mgr(opj_common_ptr cinfo, opj_event_mgr_t *event_mgr, void *context) { diff --git a/intern/opennl/superlu/smemory.c b/intern/opennl/superlu/smemory.c index 7eefb900673..d256d473f1c 100644 --- a/intern/opennl/superlu/smemory.c +++ b/intern/opennl/superlu/smemory.c @@ -621,7 +621,7 @@ sStackCompress(GlobalLU_t *Glu) Glu->usub = usub; #ifdef DEBUG - printf("sStackCompress: fragment %d\n", fragment); + printf("sStackCompress: fragment %d\n", (int)*fragment); /* for (last = 0; last < ndim; ++last) print_lu_col("After compress:", last, 0);*/ #endif -- cgit v1.2.3 From 76a0de3a0d80421b805a3f36a11d5d49089c62d2 Mon Sep 17 00:00:00 2001 From: Joshua Leung Date: Thu, 21 Oct 2010 10:28:06 +0000 Subject: Changes to "evaluation time" for Curves: After discussions with Campbell regarding #24336 and #24309, we've decided to make this property for curves to only get set when an F-Curve explicitly animates it. As a consequence... - ALL OLD FILES using follow-path constraints that depended on this changed behaviour will currently need manual patching to add an appropriate F-Curve - Ctrl-P (Parenting to Curves -> Follow Path option) will now automatically create such F-Curves mimicking the old behaviour so that creating camera-following-path setups still works smoothly. - Directly adding a Follow Path constraint bypasses this, so you'll need to manually add such F-Curves if you need them. The main problem with the old approach was that there were many cases in which curve data could get added but the ctime would be incorrect until a frame change (i.e. on render) flushed this. --- source/blender/blenkernel/intern/anim_sys.c | 17 +---------------- source/blender/editors/curve/editcurve.c | 1 - source/blender/editors/object/object_relations.c | 13 +++++++++++++ 3 files changed, 14 insertions(+), 17 deletions(-) diff --git a/source/blender/blenkernel/intern/anim_sys.c b/source/blender/blenkernel/intern/anim_sys.c index 22f5ac181f1..e03799ff938 100644 --- a/source/blender/blenkernel/intern/anim_sys.c +++ b/source/blender/blenkernel/intern/anim_sys.c @@ -1872,22 +1872,7 @@ void BKE_animsys_evaluate_all_animation (Main *main, float ctime) EVAL_ANIM_IDS(main->mball.first, ADT_RECALC_ANIM); /* curves */ - /* we need to perform a special hack here to ensure that the ctime - * value of the curve gets set in case there's no animation for that - * - it needs to be set before animation is evaluated just so that - * animation can successfully override... - * - it shouldn't get set when calculating drivers... - */ - for (id= main->curve.first; id; id= id->next) { - AnimData *adt= BKE_animdata_from_id(id); - Curve *cu= (Curve *)id; - - /* set ctime variable for curve */ - cu->ctime= ctime; - - /* now execute animation data on top of this as per normal */ - BKE_animsys_evaluate_animdata(id, adt, ctime, ADT_RECALC_ANIM); - } + EVAL_ANIM_IDS(main->curve.first, ADT_RECALC_ANIM); /* armatures */ EVAL_ANIM_IDS(main->armature.first, ADT_RECALC_ANIM); diff --git a/source/blender/editors/curve/editcurve.c b/source/blender/editors/curve/editcurve.c index a116cc10be7..9dfca2d61bf 100644 --- a/source/blender/editors/curve/editcurve.c +++ b/source/blender/editors/curve/editcurve.c @@ -6018,7 +6018,6 @@ static int curvesurf_prim_add(bContext *C, wmOperator *op, int type, int isSurf) cu= (Curve*)obedit->data; cu->flag |= CU_DEFORM_FILL; - cu->ctime= CFRA; if(type & CU_PRIM_PATH) cu->flag |= CU_PATH|CU_3D; } else DAG_id_flush_update(&obedit->id, OB_RECALC_DATA); diff --git a/source/blender/editors/object/object_relations.c b/source/blender/editors/object/object_relations.c index d92aeb13547..b1c027a2f24 100644 --- a/source/blender/editors/object/object_relations.c +++ b/source/blender/editors/object/object_relations.c @@ -57,6 +57,7 @@ #include "BKE_depsgraph.h" #include "BKE_displist.h" #include "BKE_global.h" +#include "BKE_fcurve.h" #include "BKE_lattice.h" #include "BKE_library.h" #include "BKE_main.h" @@ -82,6 +83,7 @@ #include "ED_armature.h" #include "ED_curve.h" +#include "ED_keyframing.h" #include "ED_object.h" #include "ED_screen.h" #include "ED_view3d.h" @@ -546,6 +548,17 @@ static int parent_set_exec(bContext *C, wmOperator *op) } else cu->flag |= CU_FOLLOW; + /* if follow, add F-Curve for ctime (i.e. "eval_time") so that path-follow works */ + if(partype == PAR_FOLLOW) { + /* get or create F-Curve */ + bAction *act = verify_adt_action(&cu->id, 1); + FCurve *fcu = verify_fcurve(act, NULL, "eval_time", 0, 1); + + /* setup dummy 'generator' modifier here to get 1-1 correspondance still working */ + if (!fcu->bezt && !fcu->fpt && !fcu->modifiers.first) + add_fmodifier(&fcu->modifiers, FMODIFIER_TYPE_GENERATOR); + } + /* fall back on regular parenting now (for follow only) */ if(partype == PAR_FOLLOW) partype= PAR_OBJECT; -- cgit v1.2.3 From b9d17f97eb2919e94b4db58d5fa06f7f6299865a Mon Sep 17 00:00:00 2001 From: Nathan Letwory Date: Thu, 21 Oct 2010 11:15:57 +0000 Subject: Don't use CS_CLASSDC after all. Makes drawing multiple windows funky. --- intern/ghost/intern/GHOST_SystemWin32.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/intern/ghost/intern/GHOST_SystemWin32.cpp b/intern/ghost/intern/GHOST_SystemWin32.cpp index cf6a5f8dc9e..da333ce4f08 100644 --- a/intern/ghost/intern/GHOST_SystemWin32.cpp +++ b/intern/ghost/intern/GHOST_SystemWin32.cpp @@ -356,7 +356,7 @@ GHOST_TSuccess GHOST_SystemWin32::init() if (success) { WNDCLASS wc; - wc.style= CS_HREDRAW | CS_VREDRAW | CS_CLASSDC; + wc.style= CS_HREDRAW | CS_VREDRAW; wc.lpfnWndProc= s_wndProc; wc.cbClsExtra= 0; wc.cbWndExtra= 0; -- cgit v1.2.3 From 19068ba38ad79594a2b58f1d4c34b18d8bba4f08 Mon Sep 17 00:00:00 2001 From: Nathan Letwory Date: Thu, 21 Oct 2010 11:19:15 +0000 Subject: Fix [#24348] Release confirm confusing Reported by Dennis Dillert A bit clearer wording. --- source/blender/makesrna/intern/rna_userdef.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/blender/makesrna/intern/rna_userdef.c b/source/blender/makesrna/intern/rna_userdef.c index 4196b3585b3..b00afa73ca9 100644 --- a/source/blender/makesrna/intern/rna_userdef.c +++ b/source/blender/makesrna/intern/rna_userdef.c @@ -2094,7 +2094,7 @@ static void rna_def_userdef_edit(BlenderRNA *brna) prop= RNA_def_property(srna, "use_drag_immediately", PROP_BOOLEAN, PROP_NONE); RNA_def_property_boolean_sdna(prop, NULL, "flag", USER_RELEASECONFIRM); - RNA_def_property_ui_text(prop, "Release confirm", "Moving things with a mouse drag confirms when releasing the button"); + RNA_def_property_ui_text(prop, "Release confirms", "Moving things with a mouse drag confirms when releasing the button"); /* Undo */ prop= RNA_def_property(srna, "undo_steps", PROP_INT, PROP_NONE); -- cgit v1.2.3 From bef30b270b3113fc31cb6c9bcea7d463c7bcebb5 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Thu, 21 Oct 2010 11:20:44 +0000 Subject: bugfix [#24342] Wrong Bubble description when creation add-on without python comment on class --- source/blender/makesrna/intern/rna_wm.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/source/blender/makesrna/intern/rna_wm.c b/source/blender/makesrna/intern/rna_wm.c index 7e54a3b14fa..1bc22b7af25 100644 --- a/source/blender/makesrna/intern/rna_wm.c +++ b/source/blender/makesrna/intern/rna_wm.c @@ -829,6 +829,9 @@ static StructRNA *rna_Operator_register(const bContext *C, ReportList *reports, dummyot.description= _operator_descr; /* only assigne the pointer, string is NULL'd */ RNA_pointer_create(NULL, &RNA_Operator, &dummyop, &dummyotr); + /* clear incase they are left unset */ + _operator_idname[0]= _operator_name[0]= _operator_descr[0]= '\0'; + /* validate the python class */ if(validate(&dummyotr, data, have_function) != 0) return NULL; @@ -1096,7 +1099,7 @@ static void rna_def_operator(BlenderRNA *brna) prop= RNA_def_property(srna, "bl_description", PROP_STRING, PROP_NONE); RNA_def_property_string_sdna(prop, NULL, "type->description"); RNA_def_property_string_maxlength(prop, 1024); /* else it uses the pointer size! */ - RNA_def_property_flag(prop, PROP_REGISTER); + RNA_def_property_flag(prop, PROP_REGISTER_OPTIONAL); prop= RNA_def_property(srna, "bl_options", PROP_ENUM, PROP_NONE); RNA_def_property_enum_sdna(prop, NULL, "type->flag"); @@ -1151,7 +1154,7 @@ static void rna_def_macro_operator(BlenderRNA *brna) prop= RNA_def_property(srna, "bl_description", PROP_STRING, PROP_NONE); RNA_def_property_string_sdna(prop, NULL, "type->description"); RNA_def_property_string_maxlength(prop, 1024); /* else it uses the pointer size! */ - RNA_def_property_flag(prop, PROP_REGISTER); + RNA_def_property_flag(prop, PROP_REGISTER_OPTIONAL); prop= RNA_def_property(srna, "bl_options", PROP_ENUM, PROP_NONE); RNA_def_property_enum_sdna(prop, NULL, "type->flag"); -- cgit v1.2.3 From 59d174067161ea9835068f5b12e426efe6497fe1 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Thu, 21 Oct 2010 13:33:51 +0000 Subject: bugfix [#24331] EdgeSlide not as flawless as 2.49's ensure minimum mouse distance for sliding edge verts else it becomes unusable. --- source/blender/editors/transform/transform.c | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/source/blender/editors/transform/transform.c b/source/blender/editors/transform/transform.c index e6a42b9a921..a43078e5d6a 100644 --- a/source/blender/editors/transform/transform.c +++ b/source/blender/editors/transform/transform.c @@ -4563,7 +4563,26 @@ static int createSlideVerts(TransInfo *t) start[0] = t->mval[0]; start[1] = t->mval[1]; add_v3_v3v3(end, start, vec); - + + + /* Ensure minimum screen distance, when looking top down on edge loops */ +#define EDGE_SLIDE_MIN 30 + if (len_squared_v2v2(start, end) < (EDGE_SLIDE_MIN * EDGE_SLIDE_MIN)) { + if(ABS(start[0]-end[0]) + ABS(start[1]-end[1]) < 4.0f) { + /* even more exceptional case, points are ontop of eachother */ + end[0]= start[0]; + end[1]= start[1] + EDGE_SLIDE_MIN; + } + else { + sub_v2_v2(end, start); + normalize_v2(end); + mul_v2_fl(end, EDGE_SLIDE_MIN); + add_v2_v2(end, start); + } + } +#undef EDGE_SLIDE_MIN + + sld->start[0] = (short) start[0]; sld->start[1] = (short) start[1]; sld->end[0] = (short) end[0]; -- cgit v1.2.3 From cfcf82803a9e0d590800152a060ff9f97b123184 Mon Sep 17 00:00:00 2001 From: Janne Karhu Date: Thu, 21 Oct 2010 17:00:38 +0000 Subject: Temporary fix for sequencer bugs #22925, #21429, #21783, #24165 * This fix is really only a bandage, as the underlying issue is that sequencer preview render doesn't yet use the job system. * The sequencer preview can start a full render of the scene, and this can collide with other preview/actual renders in many cases. * Drawing the sequencer preview is now disabled when an other render is in progress, but the sequence preview rendering could have already been started before the other render, so this doesn't really fix anything. * For now only OpenGL rendering can be used for the sequencer preview reliably until it's reimplemented using the job system. * Using the job system in the future can handle the clashes between different renders properly and will give users a nice progress bar to indicate something is happening while the preview is recalculated. --- release/scripts/ui/space_sequencer.py | 3 +- source/blender/blenkernel/intern/sequencer.c | 59 ++++++++++++++-------- .../editors/space_sequencer/sequencer_draw.c | 4 ++ source/blender/render/intern/source/pipeline.c | 6 ++- 4 files changed, 48 insertions(+), 24 deletions(-) diff --git a/release/scripts/ui/space_sequencer.py b/release/scripts/ui/space_sequencer.py index f1d07fbdef7..85e0298e584 100644 --- a/release/scripts/ui/space_sequencer.py +++ b/release/scripts/ui/space_sequencer.py @@ -760,9 +760,10 @@ class SEQUENCER_PT_preview(SequencerButtonsPanel_Output, bpy.types.Panel): render = context.scene.render col = layout.column() + col.active = False #Currently only opengl preview works! col.prop(render, "use_sequencer_gl_preview", text="Open GL Preview") col = layout.column() - col.active = render.use_sequencer_gl_preview + #col.active = render.use_sequencer_gl_preview col.prop(render, "sequencer_gl_preview", text="") ''' diff --git a/source/blender/blenkernel/intern/sequencer.c b/source/blender/blenkernel/intern/sequencer.c index 5950a4630b7..53930cee68b 100644 --- a/source/blender/blenkernel/intern/sequencer.c +++ b/source/blender/blenkernel/intern/sequencer.c @@ -1801,7 +1801,8 @@ static ImBuf * seq_render_scene_strip_impl( Object *oldcamera; ListBase oldmarkers; - /* Hack! This function can be called from do_render_seq(), in that case + /* Old info: + Hack! This function can be called from do_render_seq(), in that case the seq->scene can already have a Render initialized with same name, so we have to use a default name. (compositor uses scene name to find render). @@ -1813,9 +1814,27 @@ static ImBuf * seq_render_scene_strip_impl( and since G.rendering is uhm, gone... (Peter) */ + /* New info: + Using the same name for the renders works just fine as the do_render_seq() + render is not used while the scene strips are rendered. + + However rendering from UI (through sequencer_preview_area_draw) can crash in + very many cases since other renders (material preview, an actual render etc.) + can be started while this sequence preview render is running. The only proper + solution is to make the sequencer preview render a proper job, which can be + stopped when needed. This would also give a nice progress bar for the preview + space so that users know there's something happening. + + As a result the active scene now only uses OpenGL rendering for the sequencer + preview. This is far from nice, but is the only way to prevent crashes at this + time. + + -jahka + */ + int rendering = G.rendering; int doseq; - int doseq_gl= G.rendering ? /*(scene->r.seq_flag & R_SEQ_GL_REND)*/ 0 : (scene->r.seq_flag & R_SEQ_GL_PREV); + int doseq_gl= G.rendering ? /*(scene->r.seq_flag & R_SEQ_GL_REND)*/ 0 : /*(scene->r.seq_flag & R_SEQ_GL_PREV)*/ 1; int have_seq= FALSE; Scene *sce= seq->scene; /* dont refer to seq->scene above this point!, it can be NULL */ int sce_valid= FALSE; @@ -1848,30 +1867,28 @@ static ImBuf * seq_render_scene_strip_impl( #endif if(sequencer_view3d_cb && BLI_thread_is_main() && doseq_gl && (seq->scene == scene || have_seq==0) && seq->scene->camera) { + /* for old scened this can be uninitialized, should probably be added to do_versions at some point if the functionality stays */ + if(scene->r.seq_prev_type==0) + scene->r.seq_prev_type = 3 /* ==OB_SOLID */; + /* opengl offscreen render */ scene_update_for_newframe(bmain, seq->scene, seq->scene->lay); - ibuf= sequencer_view3d_cb(seq->scene, seqrectx, seqrecty, IB_rect, - scene->r.seq_prev_type); + ibuf= sequencer_view3d_cb(seq->scene, seqrectx, seqrecty, IB_rect, scene->r.seq_prev_type); } else { - Render *re; + Render *re = RE_GetRender(sce->id.name); RenderResult rres; - - if(rendering) - re= RE_NewRender(" do_build_seq_ibuf"); - /* If the top level scene that does the sequencer rendering is included - * as a strip the default render name for the strip will conflict with - * the original render, so override the name in this case. - * See bugs #22236 and #24160 for examples. - * XXX: Somebody with deeper insight to the rendering pipeline should - * probably check if this is the best way to handle this. -jahka - */ - else if(seq->scene == scene) - re= RE_NewRender("scene_conflict_render"); - else - re= RE_NewRender(sce->id.name); - - RE_BlenderFrame(re, bmain, sce, NULL, sce->lay, frame); + + /* XXX: this if can be removed when sequence preview rendering uses the job system */ + if(rendering || scene != sce) { + if(re==NULL) + re= RE_NewRender(sce->id.name); + + RE_BlenderFrame(re, bmain, sce, NULL, sce->lay, frame); + + /* restore previous state after it was toggled on & off by RE_BlenderFrame */ + G.rendering = rendering; + } RE_AcquireResultImage(re, &rres); diff --git a/source/blender/editors/space_sequencer/sequencer_draw.c b/source/blender/editors/space_sequencer/sequencer_draw.c index c4ae658ce37..bbd18e7c1ee 100644 --- a/source/blender/editors/space_sequencer/sequencer_draw.c +++ b/source/blender/editors/space_sequencer/sequencer_draw.c @@ -728,6 +728,10 @@ void draw_image_seq(const bContext* C, Scene *scene, ARegion *ar, SpaceSeq *sseq UI_view2d_totRect_set(v2d, viewrectx + 0.5f, viewrecty + 0.5f); UI_view2d_curRect_validate(v2d); + /* only initialize the preview if a render is in progress */ + if(G.rendering) + return; + if (special_seq_update) ibuf= give_ibuf_seq_direct(bmain, scene, rectx, recty, cfra + frame_ofs, proxy_size, special_seq_update); else if (!U.prefetchframes) // XXX || (G.f & G_PLAYANIM) == 0) { diff --git a/source/blender/render/intern/source/pipeline.c b/source/blender/render/intern/source/pipeline.c index 7230e0b3909..1feb43c04dd 100644 --- a/source/blender/render/intern/source/pipeline.c +++ b/source/blender/render/intern/source/pipeline.c @@ -2451,7 +2451,7 @@ static void do_render_seq(Render * re) { static int recurs_depth = 0; struct ImBuf *ibuf; - RenderResult *rr = re->result; + RenderResult *rr; /* don't assign re->result here as it might change during give_ibuf_seq */ int cfra = re->r.cfra; re->i.cfra= cfra; @@ -2463,9 +2463,11 @@ static void do_render_seq(Render * re) recurs_depth++; - ibuf= give_ibuf_seq(re->main, re->scene, rr->rectx, rr->recty, cfra, 0, 100.0); + ibuf= give_ibuf_seq(re->main, re->scene, re->result->rectx, re->result->recty, cfra, 0, 100.0); recurs_depth--; + + rr = re->result; BLI_rw_mutex_lock(&re->resultmutex, THREAD_LOCK_WRITE); -- cgit v1.2.3 From d272ea36c23bc5e28db0f66fa905bb24acf9de8c Mon Sep 17 00:00:00 2001 From: Nathan Letwory Date: Thu, 21 Oct 2010 18:13:43 +0000 Subject: Wrong check for platform accidently put /WX to non-msvc toolchains too. --- intern/ghost/SConscript | 2 ++ 1 file changed, 2 insertions(+) diff --git a/intern/ghost/SConscript b/intern/ghost/SConscript index de8dd51d2dc..c71402b352b 100644 --- a/intern/ghost/SConscript +++ b/intern/ghost/SConscript @@ -60,6 +60,8 @@ if env['BF_GHOST_DEBUG']: incs = '. ../string #extern/glew/include #source/blender/imbuf #source/blender/makesdna ' + env['BF_OPENGL_INC'] if window_system in ('win32-vc', 'win32-mingw', 'cygwin', 'linuxcross', 'win64-vc'): incs = env['BF_WINTAB_INC'] + ' ' + incs + +if window_system in ('win32-vc', 'win64-vc'): env.BlenderLib ('bf_intern_ghost', sources, Split(incs), defines=defs, libtype=['intern','player'], priority = [40,15], cc_compileflags=['/WX'] ) else: env.BlenderLib ('bf_intern_ghost', sources, Split(incs), defines=defs, libtype=['intern','player'], priority = [40,15] ) -- cgit v1.2.3 From b00f8e8de8d05b770959221233eaec46c85d2e28 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Thu, 21 Oct 2010 22:30:34 +0000 Subject: limit adjustment from AlexKu, subdiv smooth soft limit of 1. --- source/blender/editors/mesh/editmesh_tools.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/blender/editors/mesh/editmesh_tools.c b/source/blender/editors/mesh/editmesh_tools.c index 66090f14fff..7fbdef7b391 100644 --- a/source/blender/editors/mesh/editmesh_tools.c +++ b/source/blender/editors/mesh/editmesh_tools.c @@ -6769,7 +6769,7 @@ void MESH_OT_subdivide(wmOperatorType *ot) /* properties */ RNA_def_int(ot->srna, "number_cuts", 1, 1, INT_MAX, "Number of Cuts", "", 1, 10); - RNA_def_float(ot->srna, "smoothness", 0.0f, 0.0f, FLT_MAX, "Smoothness", "Smoothness factor.", 0.0f, 1000.0f); + RNA_def_float(ot->srna, "smoothness", 0.0f, 0.0f, FLT_MAX, "Smoothness", "Smoothness factor.", 0.0f, 1.0f); RNA_def_float(ot->srna, "fractal", 0.0, 0.0f, FLT_MAX, "Fractal", "Fractal randomness factor.", 0.0f, 1000.0f); RNA_def_enum(ot->srna, "corner_cut_pattern", corner_type_items, SUBDIV_CORNER_INNERVERT, "Corner Cut Pattern", "Topology pattern to use to fill a face after cutting across its corner"); } -- cgit v1.2.3 From 8259321a5f022e8d8209057cd3bf00593f4aef17 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Thu, 21 Oct 2010 22:45:54 +0000 Subject: fix warnings --- source/blender/blenkernel/intern/collision.c | 4 ++-- source/blender/blenkernel/intern/ipo.c | 3 ++- source/blender/blenlib/BLI_kdopbvh.h | 2 +- source/blender/blenlib/intern/BLI_kdopbvh.c | 4 ++-- source/blender/editors/curve/editcurve.c | 1 - 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/source/blender/blenkernel/intern/collision.c b/source/blender/blenkernel/intern/collision.c index 62b587029e1..d39e550192b 100644 --- a/source/blender/blenkernel/intern/collision.c +++ b/source/blender/blenkernel/intern/collision.c @@ -1307,7 +1307,7 @@ static int cloth_collision_moving ( ClothModifierData *clmd, CollisionModifierDa } #endif -static void add_collision_object(Object ***objs, int *numobj, int *maxobj, Object *ob, Object *self, int level) +static void add_collision_object(Object ***objs, unsigned int *numobj, unsigned int *maxobj, Object *ob, Object *self, int level) { CollisionModifierData *cmd= NULL; @@ -1545,7 +1545,7 @@ int cloth_bvh_objcollision (Object *ob, ClothModifierData * clmd, float step, fl Object *collob= collobjs[i]; CollisionModifierData *collmd = (CollisionModifierData*)modifiers_findByType(collob, eModifierType_Collision); BVHTreeOverlap *overlap = NULL; - int result = 0; + unsigned int result = 0; if(!collmd->bvhtree) continue; diff --git a/source/blender/blenkernel/intern/ipo.c b/source/blender/blenkernel/intern/ipo.c index b6a6607e062..a8e0aa81156 100644 --- a/source/blender/blenkernel/intern/ipo.c +++ b/source/blender/blenkernel/intern/ipo.c @@ -1123,7 +1123,8 @@ static void icu_to_fcurves (ID *id, ListBase *groups, ListBase *list, IpoCurve * { AdrBit2Path *abp; FCurve *fcu; - unsigned int i=0, totbits; + unsigned int i=0; + int totbits; /* allocate memory for a new F-Curve */ fcu= MEM_callocN(sizeof(FCurve), "FCurve"); diff --git a/source/blender/blenlib/BLI_kdopbvh.h b/source/blender/blenlib/BLI_kdopbvh.h index d9e3d7e42c6..aa55ececc06 100644 --- a/source/blender/blenlib/BLI_kdopbvh.h +++ b/source/blender/blenlib/BLI_kdopbvh.h @@ -90,7 +90,7 @@ int BLI_bvhtree_update_node(BVHTree *tree, int index, float *co, float *co_movin void BLI_bvhtree_update_tree(BVHTree *tree); /* collision/overlap: check two trees if they overlap, alloc's *overlap with length of the int return value */ -BVHTreeOverlap *BLI_bvhtree_overlap(BVHTree *tree1, BVHTree *tree2, int *result); +BVHTreeOverlap *BLI_bvhtree_overlap(BVHTree *tree1, BVHTree *tree2, unsigned int *result); float BLI_bvhtree_getepsilon(BVHTree *tree); diff --git a/source/blender/blenlib/intern/BLI_kdopbvh.c b/source/blender/blenlib/intern/BLI_kdopbvh.c index 4d64f4a50ff..0204f9b1430 100644 --- a/source/blender/blenlib/intern/BLI_kdopbvh.c +++ b/source/blender/blenlib/intern/BLI_kdopbvh.c @@ -1126,9 +1126,9 @@ static void traverse(BVHOverlapData *data, BVHNode *node1, BVHNode *node2) return; } -BVHTreeOverlap *BLI_bvhtree_overlap(BVHTree *tree1, BVHTree *tree2, int *result) +BVHTreeOverlap *BLI_bvhtree_overlap(BVHTree *tree1, BVHTree *tree2, unsigned int *result) { - int j, total = 0; + unsigned int j, total = 0; BVHTreeOverlap *overlap = NULL, *to = NULL; BVHOverlapData **data; diff --git a/source/blender/editors/curve/editcurve.c b/source/blender/editors/curve/editcurve.c index 9dfca2d61bf..97379cc110c 100644 --- a/source/blender/editors/curve/editcurve.c +++ b/source/blender/editors/curve/editcurve.c @@ -6012,7 +6012,6 @@ static int curvesurf_prim_add(bContext *C, wmOperator *op, int type, int isSurf) if (!isSurf) { /* adding curve */ if(obedit==NULL || obedit->type!=OB_CURVE) { Curve *cu; - Scene *scene= CTX_data_scene(C); obedit= ED_object_add_type(C, OB_CURVE, loc, rot, TRUE, layer); newob = 1; -- cgit v1.2.3 From e51bb1fb0ee1ba5e297b25e3f2474c4762546183 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Fri, 22 Oct 2010 00:29:56 +0000 Subject: bugfix/workaround for ../../radeon/radeon_cs_gem.c:181: cs_gem_write_reloc: Assertion `boi->space_accounted' failed. [#656100] reported on launchpad. calling glClear(GL_COLOR_BUFFER_BIT); was crashing blender, since this is only used to blank the window before its drawn, disable for opensource ATI drivers. --- source/blender/gpu/intern/gpu_extensions.c | 5 +++++ source/blender/windowmanager/intern/wm_window.c | 9 ++++++++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/source/blender/gpu/intern/gpu_extensions.c b/source/blender/gpu/intern/gpu_extensions.c index c6b8a43918c..49f9fbebf56 100644 --- a/source/blender/gpu/intern/gpu_extensions.c +++ b/source/blender/gpu/intern/gpu_extensions.c @@ -91,6 +91,11 @@ void GPU_extensions_init() GLint r, g, b; const char *vendor, *renderer; + /* can't avoid calling this multiple times, see wm_window_add_ghostwindow */ + static char init= 0; + if(init) return; + init= 1; + glewInit(); /* glewIsSupported("GL_VERSION_2_0") */ diff --git a/source/blender/windowmanager/intern/wm_window.c b/source/blender/windowmanager/intern/wm_window.c index 69a29092058..bbbe49ce3dd 100644 --- a/source/blender/windowmanager/intern/wm_window.c +++ b/source/blender/windowmanager/intern/wm_window.c @@ -63,6 +63,7 @@ #include "PIL_time.h" #include "GPU_draw.h" +#include "GPU_extensions.h" /* the global to talk to ghost */ GHOST_SystemHandle g_system= NULL; @@ -320,6 +321,8 @@ static void wm_window_add_ghostwindow(bContext *C, char *title, wmWindow *win) 0 /* no AA */); if (ghostwin) { + /* needed so we can detect the graphics card below */ + GPU_extensions_init(); /* set the state*/ GHOST_SetWindowState(ghostwin, initial_state); @@ -332,7 +335,11 @@ static void wm_window_add_ghostwindow(bContext *C, char *title, wmWindow *win) /* until screens get drawn, make it nice grey */ glClearColor(.55, .55, .55, 0.0); - glClear(GL_COLOR_BUFFER_BIT); + /* Crash on OSS ATI: bugs.launchpad.net/ubuntu/+source/mesa/+bug/656100 */ + if(!GPU_type_matches(GPU_DEVICE_ATI, GPU_OS_UNIX, GPU_DRIVER_OPENSOURCE)) { + glClear(GL_COLOR_BUFFER_BIT); + } + wm_window_swap_buffers(win); //GHOST_SetWindowState(ghostwin, GHOST_kWindowStateModified); -- cgit v1.2.3 From 97784a7186f00e5eea1b241e528ea105ddcdef64 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Fri, 22 Oct 2010 01:06:21 +0000 Subject: fix for warnings & detecting opensource nouveau drivers. --- intern/elbeem/intern/solver_init.cpp | 2 +- intern/elbeem/intern/utilities.h | 3 +++ source/blender/gpu/intern/gpu_extensions.c | 2 +- 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/intern/elbeem/intern/solver_init.cpp b/intern/elbeem/intern/solver_init.cpp index fee011a70ae..3d61697bbc6 100644 --- a/intern/elbeem/intern/solver_init.cpp +++ b/intern/elbeem/intern/solver_init.cpp @@ -1001,7 +1001,7 @@ bool LbmFsgrSolver::initializeSolverMemory() preinitGrids(); for(int lev=0; lev<=mMaxRefine; lev++) { FSGR_FORIJK_BOUNDS(lev) { - RFLAG(lev,i,j,k,0) = RFLAG(lev,i,j,k,0) = 0; // reset for changeFlag usage + RFLAG(lev,i,j,k,0) = 0, RFLAG(lev,i,j,k,0) = 0; // reset for changeFlag usage if(!mAllfluid) { initEmptyCell(lev, i,j,k, CFEmpty, -1.0, -1.0); } else { diff --git a/intern/elbeem/intern/utilities.h b/intern/elbeem/intern/utilities.h index a5f63e696a6..b0a58b13367 100644 --- a/intern/elbeem/intern/utilities.h +++ b/intern/elbeem/intern/utilities.h @@ -12,6 +12,9 @@ /* debugging outputs , debug level 0 (off) to 10 (max) */ #ifdef ELBEEM_PLUGIN +#ifdef DEBUG +#undef DEBUG +#endif #define DEBUG 0 #else // ELBEEM_PLUGIN #define DEBUG 10 diff --git a/source/blender/gpu/intern/gpu_extensions.c b/source/blender/gpu/intern/gpu_extensions.c index 49f9fbebf56..70a74aafead 100644 --- a/source/blender/gpu/intern/gpu_extensions.c +++ b/source/blender/gpu/intern/gpu_extensions.c @@ -135,7 +135,7 @@ void GPU_extensions_init() GG.device = GPU_DEVICE_ATI; GG.driver = GPU_DRIVER_OPENSOURCE; } - else if(strstr(renderer, "Nouveau")) { + else if(strstr(renderer, "Nouveau") || strstr(vendor, "nouveau")) { GG.device = GPU_DEVICE_NVIDIA; GG.driver = GPU_DRIVER_OPENSOURCE; } -- cgit v1.2.3 From bcac1def4c1b459e116ae1957e8ac4e20a7d9192 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Fri, 22 Oct 2010 03:27:01 +0000 Subject: eulO_to_quat wasn't functional for XZY, YXZ, ZYX rotation orders. it also modified the input rotation value which isn't expected for these functions. --- source/blender/blenlib/intern/math_rotation.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/source/blender/blenlib/intern/math_rotation.c b/source/blender/blenlib/intern/math_rotation.c index 3b58fe88bf5..09cb02ce56a 100644 --- a/source/blender/blenlib/intern/math_rotation.c +++ b/source/blender/blenlib/intern/math_rotation.c @@ -1083,10 +1083,10 @@ void eulO_to_quat(float q[4],float e[3], short order) double ti, tj, th, ci, cj, ch, si, sj, sh, cc, cs, sc, ss; double a[3]; - ti = e[i]/2; tj = e[j]/2; th = e[k]/2; - - if (R->parity) e[j] = -e[j]; - + ti = e[i] * 0.5f; + tj = e[j] * (R->parity ? -0.5f : 0.5f); + th = e[k] * 0.5f; + ci = cos(ti); cj = cos(tj); ch = cos(th); si = sin(ti); sj = sin(tj); sh = sin(th); @@ -1102,7 +1102,7 @@ void eulO_to_quat(float q[4],float e[3], short order) q[2] = a[1]; q[3] = a[2]; - if (R->parity) q[j] = -q[j]; + if (R->parity) q[j+1] *= -1.0f; } /* Convert quaternion to Euler angles (in radians). */ -- cgit v1.2.3 From 2fe940f8df9c4513ad1ad0674f49818417450984 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Fri, 22 Oct 2010 03:56:50 +0000 Subject: Fix for snapping pose bones with axis-angle rotation. - armature_mat_pose_to_bone() was missing axis-angle check. - added loc_axisangle_size_to_mat4() for completeness. - use 'const' prefix where possible in math rotation functions. --- source/blender/blenkernel/intern/armature.c | 15 +++-- source/blender/blenlib/BLI_math_matrix.h | 12 ++-- source/blender/blenlib/BLI_math_rotation.h | 62 ++++++++++---------- source/blender/blenlib/intern/math_matrix.c | 17 ++++-- source/blender/blenlib/intern/math_rotation.c | 69 +++++++++++------------ source/blender/editors/space_view3d/view3d_snap.c | 2 +- 6 files changed, 96 insertions(+), 81 deletions(-) diff --git a/source/blender/blenkernel/intern/armature.c b/source/blender/blenkernel/intern/armature.c index f0c39e6373e..f77992262a7 100644 --- a/source/blender/blenkernel/intern/armature.c +++ b/source/blender/blenkernel/intern/armature.c @@ -1108,12 +1108,19 @@ void armature_mat_pose_to_bone(bPoseChannel *pchan, float inmat[][4], float outm /* paranoia: prevent crashes with no pose-channel supplied */ if (pchan==NULL) return; - + /* get the inverse matrix of the pchan's transforms */ - if (pchan->rotmode) - loc_eul_size_to_mat4(pc_trans, pchan->loc, pchan->eul, pchan->size); - else + switch(pchan->rotmode) { + case ROT_MODE_QUAT: loc_quat_size_to_mat4(pc_trans, pchan->loc, pchan->quat, pchan->size); + break; + case ROT_MODE_AXISANGLE: + loc_axisangle_size_to_mat4(pc_trans, pchan->loc, pchan->rotAxis, pchan->rotAngle, pchan->size); + break; + default: /* euler */ + loc_eul_size_to_mat4(pc_trans, pchan->loc, pchan->eul, pchan->size); + } + invert_m4_m4(inv_trans, pc_trans); /* Remove the pchan's transforms from it's pose_mat. diff --git a/source/blender/blenlib/BLI_math_matrix.h b/source/blender/blenlib/BLI_math_matrix.h index 6b3d8bf9d0b..e4f477238f5 100644 --- a/source/blender/blenlib/BLI_math_matrix.h +++ b/source/blender/blenlib/BLI_math_matrix.h @@ -135,8 +135,8 @@ void scale_m4_fl(float R[4][4], float scale); float mat3_to_scale(float M[3][3]); float mat4_to_scale(float M[4][4]); -void size_to_mat3(float R[3][3], float size[3]); -void size_to_mat4(float R[4][4], float size[3]); +void size_to_mat3(float R[3][3], const float size[3]); +void size_to_mat4(float R[4][4], const float size[3]); void mat3_to_size(float r[3], float M[3][3]); void mat4_to_size(float r[3], float M[4][4]); @@ -145,11 +145,13 @@ void translate_m4(float mat[4][4], float tx, float ty, float tz); void rotate_m4(float mat[4][4], char axis, float angle); void loc_eul_size_to_mat4(float R[4][4], - float loc[3], float eul[3], float size[3]); + const float loc[3], const float eul[3], const float size[3]); void loc_eulO_size_to_mat4(float R[4][4], - float loc[3], float eul[3], float size[3], short order); + const float loc[3], const float eul[3], const float size[3], const short order); void loc_quat_size_to_mat4(float R[4][4], - float loc[3], float quat[4], float size[3]); + const float loc[3], const float quat[4], const float size[3]); +void loc_axisangle_size_to_mat4(float R[4][4], + const float loc[3], const float axis[4], const float angle, const float size[3]); void blend_m3_m3m3(float R[3][3], float A[3][3], float B[3][3], float t); void blend_m4_m4m4(float R[4][4], float A[4][4], float B[4][4], float t); diff --git a/source/blender/blenlib/BLI_math_rotation.h b/source/blender/blenlib/BLI_math_rotation.h index 321fd28a62f..a953a01a8a1 100644 --- a/source/blender/blenlib/BLI_math_rotation.h +++ b/source/blender/blenlib/BLI_math_rotation.h @@ -48,29 +48,29 @@ void mul_qt_v3(const float q[4], float r[3]); void mul_qt_fl(float q[4], const float f); void mul_fac_qt_fl(float q[4], const float f); -void sub_qt_qtqt(float q[4], float a[4], float b[4]); +void sub_qt_qtqt(float q[4], const float a[4], const float b[4]); void invert_qt(float q[4]); void invert_qt_qt(float *q1, const float *q2); void conjugate_qt(float q[4]); -float dot_qtqt(float a[4], float b[4]); +float dot_qtqt(const float a[4], const float b[4]); void normalize_qt(float q[4]); /* comparison */ int is_zero_qt(float q[4]); /* interpolation */ -void interp_qt_qtqt(float q[4], float a[4], float b[4], float t); -void add_qt_qtqt(float q[4], float a[4], float b[4], float t); +void interp_qt_qtqt(float q[4], const float a[4], const float b[4], const float t); +void add_qt_qtqt(float q[4], const float a[4], const float b[4], const float t); /* conversion */ -void quat_to_mat3(float mat[3][3], float q[4]); -void quat_to_mat4(float mat[4][4], float q[4]); +void quat_to_mat3(float mat[3][3], const float q[4]); +void quat_to_mat4(float mat[4][4], const float q[4]); void mat3_to_quat(float q[4], float mat[3][3]); void mat4_to_quat(float q[4], float mat[4][4]); -void tri_to_quat(float q[4], float a[3], float b[3], float c[3]); -void vec_to_quat(float q[4], float vec[3], short axis, short upflag); +void tri_to_quat(float q[4], const float a[3], const float b[3], const float c[3]); +void vec_to_quat(float q[4], const float vec[3], short axis, const short upflag); /* note: v1 and v2 must be normalized */ void rotation_between_vecs_to_quat(float q[4], const float v1[3], const float v2[3]); void rotation_between_quats_to_quat(float q[4], const float q1[4], const float q2[4]); @@ -84,11 +84,11 @@ void print_qt(char *str, float q[4]); /******************************** Axis Angle *********************************/ /* conversion */ -void axis_angle_to_quat(float r[4], float axis[3], float angle); -void axis_angle_to_mat3(float R[3][3], float axis[3], float angle); -void axis_angle_to_mat4(float R[4][4], float axis[3], float angle); +void axis_angle_to_quat(float r[4], const float axis[3], float angle); +void axis_angle_to_mat3(float R[3][3], const float axis[3], const float angle); +void axis_angle_to_mat4(float R[4][4], const float axis[3], const float angle); -void quat_to_axis_angle(float axis[3], float *angle, float q[4]); +void quat_to_axis_angle(float axis[3], float *angle, const float q[4]); void mat3_to_axis_angle(float axis[3], float *angle, float M[3][3]); void mat4_to_axis_angle(float axis[3], float *angle, float M[4][4]); @@ -100,24 +100,24 @@ void mat4_to_axis_angle(float axis[3], float *angle, float M[4][4]); void mat3_to_vec_rot(float vec[3], float *phi, float mat[3][3]); void mat4_to_vec_rot(float vec[3], float *phi, float mat[4][4]); -void vec_rot_to_quat(float quat[4], float vec[3], float phi); -void vec_rot_to_mat3(float mat[3][3], float vec[3], float phi); -void vec_rot_to_mat4(float mat[4][4], float vec[3], float phi); +void vec_rot_to_quat(float quat[4], const float vec[3], const float phi); +void vec_rot_to_mat3(float mat[3][3], const float vec[3], const float phi); +void vec_rot_to_mat4(float mat[4][4], const float vec[3], const float phi); /******************************** XYZ Eulers *********************************/ -void eul_to_quat(float quat[4], float eul[3]); -void eul_to_mat3(float mat[3][3], float eul[3]); -void eul_to_mat4(float mat[4][4], float eul[3]); +void eul_to_quat(float quat[4], const float eul[3]); +void eul_to_mat3(float mat[3][3], const float eul[3]); +void eul_to_mat4(float mat[4][4], const float eul[3]); -void quat_to_eul(float eul[3], float quat[4]); +void quat_to_eul(float eul[3], const float quat[4]); void mat3_to_eul(float eul[3], float mat[3][3]); void mat4_to_eul(float eul[3], float mat[4][4]); -void compatible_eul(float eul[3], float old[3]); -void mat3_to_compatible_eul(float eul[3], float old[3], float mat[3][3]); +void compatible_eul(float eul[3], const float old[3]); +void mat3_to_compatible_eul(float eul[3], const float old[3], float mat[3][3]); -void rotate_eul(float eul[3], char axis, float angle); +void rotate_eul(float eul[3], const char axis, const float angle); /************************** Arbitrary Order Eulers ***************************/ @@ -135,16 +135,16 @@ typedef enum eEulerRotationOrders { /* there are 6 more entries with dulpicate entries included */ } eEulerRotationOrders; -void eulO_to_quat(float quat[4], float eul[3], short order); -void eulO_to_mat3(float mat[3][3], float eul[3], short order); -void eulO_to_mat4(float mat[4][4], float eul[3], short order); -void eulO_to_axis_angle(float axis[3], float *angle, float eul[3], short order); -void eulO_to_gimbal_axis(float gmat[3][3], float eul[3], short order); +void eulO_to_quat(float quat[4], const float eul[3], const short order); +void eulO_to_mat3(float mat[3][3], const float eul[3], const short order); +void eulO_to_mat4(float mat[4][4], const float eul[3], const short order); +void eulO_to_axis_angle(float axis[3], float *angle, const float eul[3], const short order); +void eulO_to_gimbal_axis(float gmat[3][3], const float eul[3], const short order); -void quat_to_eulO(float eul[3], short order, float quat[4]); -void mat3_to_eulO(float eul[3], short order, float mat[3][3]); -void mat4_to_eulO(float eul[3], short order, float mat[4][4]); -void axis_angle_to_eulO(float eul[3], short order, float axis[3], float angle); +void quat_to_eulO(float eul[3], const short order, const float quat[4]); +void mat3_to_eulO(float eul[3], const short order, float mat[3][3]); +void mat4_to_eulO(float eul[3], const short order, float mat[4][4]); +void axis_angle_to_eulO(float eul[3], const short order, const float axis[3], const float angle); void mat3_to_compatible_eulO(float eul[3], float old[3], short order, float mat[3][3]); void mat4_to_compatible_eulO(float eul[3], float old[3], short order, float mat[4][4]); diff --git a/source/blender/blenlib/intern/math_matrix.c b/source/blender/blenlib/intern/math_matrix.c index 9bbd0fc64ac..86eee4c2202 100644 --- a/source/blender/blenlib/intern/math_matrix.c +++ b/source/blender/blenlib/intern/math_matrix.c @@ -898,7 +898,7 @@ float determinant_m4(float m[][4]) /****************************** Transformations ******************************/ -void size_to_mat3(float mat[][3], float *size) +void size_to_mat3(float mat[][3], const float size[3]) { mat[0][0]= size[0]; mat[0][1]= 0.0f; @@ -911,7 +911,7 @@ void size_to_mat3(float mat[][3], float *size) mat[2][0]= 0.0f; } -void size_to_mat4(float mat[][4], float *size) +void size_to_mat4(float mat[][4], const float size[3]) { float tmat[3][3]; @@ -1078,7 +1078,7 @@ int is_negative_m4(float mat[][4]) /* make a 4x4 matrix out of 3 transform components */ /* matrices are made in the order: scale * rot * loc */ // TODO: need to have a version that allows for rotation order... -void loc_eul_size_to_mat4(float mat[4][4], float loc[3], float eul[3], float size[3]) +void loc_eul_size_to_mat4(float mat[4][4], const float loc[3], const float eul[3], const float size[3]) { float rmat[3][3], smat[3][3], tmat[3][3]; @@ -1101,7 +1101,7 @@ void loc_eul_size_to_mat4(float mat[4][4], float loc[3], float eul[3], float siz /* make a 4x4 matrix out of 3 transform components */ /* matrices are made in the order: scale * rot * loc */ -void loc_eulO_size_to_mat4(float mat[4][4], float loc[3], float eul[3], float size[3], short rotOrder) +void loc_eulO_size_to_mat4(float mat[4][4], const float loc[3], const float eul[3], const float size[3], const short rotOrder) { float rmat[3][3], smat[3][3], tmat[3][3]; @@ -1125,7 +1125,7 @@ void loc_eulO_size_to_mat4(float mat[4][4], float loc[3], float eul[3], float si /* make a 4x4 matrix out of 3 transform components */ /* matrices are made in the order: scale * rot * loc */ -void loc_quat_size_to_mat4(float mat[4][4], float loc[3], float quat[4], float size[3]) +void loc_quat_size_to_mat4(float mat[4][4], const float loc[3], const float quat[4], const float size[3]) { float rmat[3][3], smat[3][3], tmat[3][3]; @@ -1146,6 +1146,13 @@ void loc_quat_size_to_mat4(float mat[4][4], float loc[3], float quat[4], float s mat[3][2] = loc[2]; } +void loc_axisangle_size_to_mat4(float mat[4][4], const float loc[3], const float axis[3], const float angle, const float size[3]) +{ + float q[4]; + axis_angle_to_quat(q, axis, angle); + loc_quat_size_to_mat4(mat, loc, q, size); +} + /*********************************** Other ***********************************/ void print_m3(char *str, float m[][3]) diff --git a/source/blender/blenlib/intern/math_rotation.c b/source/blender/blenlib/intern/math_rotation.c index 09cb02ce56a..7f615462ab0 100644 --- a/source/blender/blenlib/intern/math_rotation.c +++ b/source/blender/blenlib/intern/math_rotation.c @@ -88,7 +88,7 @@ void conjugate_qt(float *q) q[3] = -q[3]; } -float dot_qtqt(float *q1, float *q2) +float dot_qtqt(const float q1[4], const float q2[4]) { return q1[0]*q2[0] + q1[1]*q2[1] + q1[2]*q2[2] + q1[3]*q2[3]; } @@ -119,11 +119,10 @@ void mul_qt_fl(float *q, const float f) q[3] *= f; } -void sub_qt_qtqt(float *q, float *q1, float *q2) +void sub_qt_qtqt(float q[4], const float q1[4], const float q2[4]) { - q2[0]= -q2[0]; - mul_qt_qtqt(q, q1, q2); - q2[0]= -q2[0]; + const float nq2[4]= {-q2[0], q2[1], q2[2], q2[3]}; + mul_qt_qtqt(q, q1, nq2); } /* angular mult factor */ @@ -138,7 +137,7 @@ void mul_fac_qt_fl(float *q, const float fac) mul_v3_fl(q+1, si); } -void quat_to_mat3(float m[][3], float *q) +void quat_to_mat3(float m[][3], const float q[4]) { double q0, q1, q2, q3, qda,qdb,qdc,qaa,qab,qac,qbb,qbc,qcc; @@ -170,7 +169,7 @@ void quat_to_mat3(float m[][3], float *q) m[2][2]= (float)(1.0-qaa-qbb); } -void quat_to_mat4(float m[][4], float *q) +void quat_to_mat4(float m[][4], const float q[4]) { double q0, q1, q2, q3, qda,qdb,qdc,qaa,qab,qac,qbb,qbc,qcc; @@ -356,7 +355,7 @@ void rotation_between_quats_to_quat(float *q, const float q1[4], const float q2[ } -void vec_to_quat(float *q,float *vec, short axis, short upflag) +void vec_to_quat(float q[4], const float vec[3], short axis, const short upflag) { float q2[4], nor[3], *fp, mat[3][3], angle, si, co, x2, y2, z2, len1; @@ -491,7 +490,7 @@ void QuatInterpolW(float *result, float *quat1, float *quat2, float t) } #endif -void interp_qt_qtqt(float *result, float *quat1, float *quat2, float t) +void interp_qt_qtqt(float result[4], const float quat1[4], const float quat2[4], const float t) { float quat[4], omega, cosom, sinom, sc1, sc2; @@ -528,7 +527,7 @@ void interp_qt_qtqt(float *result, float *quat1, float *quat2, float t) result[3] = sc1 * quat[3] + sc2 * quat2[3]; } -void add_qt_qtqt(float *result, float *quat1, float *quat2, float t) +void add_qt_qtqt(float result[4], const float quat1[4], const float quat2[4], const float t) { result[0]= quat1[0] + t*quat2[0]; result[1]= quat1[1] + t*quat2[1]; @@ -536,7 +535,7 @@ void add_qt_qtqt(float *result, float *quat1, float *quat2, float t) result[3]= quat1[3] + t*quat2[3]; } -void tri_to_quat(float *quat, float *v1, float *v2, float *v3) +void tri_to_quat(float quat[4], const float v1[3], const float v2[3], const float v3[3]) { /* imaginary x-axis, y-axis triangle is being rotated */ float vec[3], q1[4], q2[4], n[3], si, co, angle, mat[3][3], imat[3][3]; @@ -588,7 +587,7 @@ void print_qt(char *str, float q[4]) /******************************** Axis Angle *********************************/ /* Axis angle to Quaternions */ -void axis_angle_to_quat(float q[4], float axis[3], float angle) +void axis_angle_to_quat(float q[4], const float axis[3], float angle) { float nor[3]; float si; @@ -604,7 +603,7 @@ void axis_angle_to_quat(float q[4], float axis[3], float angle) } /* Quaternions to Axis Angle */ -void quat_to_axis_angle(float axis[3], float *angle,float q[4]) +void quat_to_axis_angle(float axis[3], float *angle, const float q[4]) { float ha, si; @@ -625,7 +624,7 @@ void quat_to_axis_angle(float axis[3], float *angle,float q[4]) } /* Axis Angle to Euler Rotation */ -void axis_angle_to_eulO(float eul[3], short order,float axis[3], float angle) +void axis_angle_to_eulO(float eul[3], short order, const float axis[3], const float angle) { float q[4]; @@ -635,7 +634,7 @@ void axis_angle_to_eulO(float eul[3], short order,float axis[3], float angle) } /* Euler Rotation to Axis Angle */ -void eulO_to_axis_angle(float axis[3], float *angle,float eul[3], short order) +void eulO_to_axis_angle(float axis[3], float *angle, const float eul[3], const short order) { float q[4]; @@ -645,7 +644,7 @@ void eulO_to_axis_angle(float axis[3], float *angle,float eul[3], short order) } /* axis angle to 3x3 matrix - safer version (normalisation of axis performed) */ -void axis_angle_to_mat3(float mat[3][3],float axis[3], float angle) +void axis_angle_to_mat3(float mat[3][3], const float axis[3], const float angle) { float nor[3], nsi[3], co, si, ico; @@ -673,7 +672,7 @@ void axis_angle_to_mat3(float mat[3][3],float axis[3], float angle) } /* axis angle to 4x4 matrix - safer version (normalisation of axis performed) */ -void axis_angle_to_mat4(float mat[4][4],float axis[3], float angle) +void axis_angle_to_mat4(float mat[4][4], const float axis[3], const float angle) { float tmat[3][3]; @@ -730,7 +729,7 @@ void mat4_to_vec_rot(float axis[3], float *angle,float mat[4][4]) } /* axis angle to 3x3 matrix */ -void vec_rot_to_mat3(float mat[][3],float *vec, float phi) +void vec_rot_to_mat3(float mat[][3], const float vec[3], const float phi) { /* rotation of phi radials around vec */ float vx, vx2, vy, vy2, vz, vz2, co, si; @@ -756,7 +755,7 @@ void vec_rot_to_mat3(float mat[][3],float *vec, float phi) } /* axis angle to 4x4 matrix */ -void vec_rot_to_mat4(float mat[][4],float *vec, float phi) +void vec_rot_to_mat4(float mat[][4], const float vec[3], const float phi) { float tmat[3][3]; @@ -766,7 +765,7 @@ void vec_rot_to_mat4(float mat[][4],float *vec, float phi) } /* axis angle to quaternion */ -void vec_rot_to_quat(float *quat,float *vec, float phi) +void vec_rot_to_quat(float *quat, const float vec[3], const float phi) { /* rotation of phi radials around vec */ float si; @@ -790,7 +789,7 @@ void vec_rot_to_quat(float *quat,float *vec, float phi) /******************************** XYZ Eulers *********************************/ /* XYZ order */ -void eul_to_mat3(float mat[][3], float *eul) +void eul_to_mat3(float mat[][3], const float eul[3]) { double ci, cj, ch, si, sj, sh, cc, cs, sc, ss; @@ -818,7 +817,7 @@ void eul_to_mat3(float mat[][3], float *eul) } /* XYZ order */ -void eul_to_mat4(float mat[][4], float *eul) +void eul_to_mat4(float mat[][4], const float eul[3]) { double ci, cj, ch, si, sj, sh, cc, cs, sc, ss; @@ -850,7 +849,7 @@ void eul_to_mat4(float mat[][4], float *eul) /* returns two euler calculation methods, so we can pick the best */ /* XYZ order */ -static void mat3_to_eul2(float tmat[][3], float *eul1, float *eul2) +static void mat3_to_eul2(float tmat[][3], float eul1[3], float eul2[3]) { float cy, quat[4], mat[3][3]; @@ -907,7 +906,7 @@ void mat4_to_eul(float *eul,float tmat[][4]) } /* XYZ order */ -void quat_to_eul(float *eul,float *quat) +void quat_to_eul(float *eul, const float quat[4]) { float mat[3][3]; @@ -916,7 +915,7 @@ void quat_to_eul(float *eul,float *quat) } /* XYZ order */ -void eul_to_quat(float *quat,float *eul) +void eul_to_quat(float *quat, const float eul[3]) { float ti, tj, th, ci, cj, ch, si, sj, sh, cc, cs, sc, ss; @@ -932,7 +931,7 @@ void eul_to_quat(float *quat,float *eul) } /* XYZ order */ -void rotate_eul(float *beul, char axis, float ang) +void rotate_eul(float *beul, const char axis, const float ang) { float eul[3], mat1[3][3], mat2[3][3], totmat[3][3]; @@ -952,7 +951,7 @@ void rotate_eul(float *beul, char axis, float ang) /* exported to transform.c */ /* order independent! */ -void compatible_eul(float *eul, float *oldrot) +void compatible_eul(float eul[3], const float oldrot[3]) { float dx, dy, dz; @@ -1016,7 +1015,7 @@ void compatible_eul(float *eul, float *oldrot) /* uses 2 methods to retrieve eulers, and picks the closest */ /* XYZ order */ -void mat3_to_compatible_eul(float *eul, float *oldrot,float mat[][3]) +void mat3_to_compatible_eul(float eul[3], const float oldrot[3], float mat[][3]) { float eul1[3], eul2[3]; float d1, d2; @@ -1076,7 +1075,7 @@ static RotOrderInfo rotOrders[]= { #define GET_ROTATIONORDER_INFO(order) (((order)>=1) ? &rotOrders[(order)-1] : &rotOrders[0]) /* Construct quaternion from Euler angles (in radians). */ -void eulO_to_quat(float q[4],float e[3], short order) +void eulO_to_quat(float q[4], const float e[3], const short order) { RotOrderInfo *R= GET_ROTATIONORDER_INFO(order); short i=R->axis[0], j=R->axis[1], k=R->axis[2]; @@ -1102,11 +1101,11 @@ void eulO_to_quat(float q[4],float e[3], short order) q[2] = a[1]; q[3] = a[2]; - if (R->parity) q[j+1] *= -1.0f; + if (R->parity) q[j+1] = -q[j+1]; } /* Convert quaternion to Euler angles (in radians). */ -void quat_to_eulO(float e[3], short order,float q[4]) +void quat_to_eulO(float e[3], short const order, const float q[4]) { float M[3][3]; @@ -1115,7 +1114,7 @@ void quat_to_eulO(float e[3], short order,float q[4]) } /* Construct 3x3 matrix from Euler angles (in radians). */ -void eulO_to_mat3(float M[3][3],float e[3], short order) +void eulO_to_mat3(float M[3][3], const float e[3], const short order) { RotOrderInfo *R= GET_ROTATIONORDER_INFO(order); short i=R->axis[0], j=R->axis[1], k=R->axis[2]; @@ -1140,7 +1139,7 @@ void eulO_to_mat3(float M[3][3],float e[3], short order) } /* Construct 4x4 matrix from Euler angles (in radians). */ -void eulO_to_mat4(float M[4][4],float e[3], short order) +void eulO_to_mat4(float M[4][4], const float e[3], const short order) { float m[3][3]; @@ -1281,7 +1280,7 @@ void rotate_eulO(float beul[3], short order, char axis, float ang) } /* the matrix is written to as 3 axis vectors */ -void eulO_to_gimbal_axis(float gmat[][3], float *eul, short order) +void eulO_to_gimbal_axis(float gmat[][3], const float eul[3], const short order) { RotOrderInfo *R= GET_ROTATIONORDER_INFO(order); @@ -1394,7 +1393,7 @@ void mat4_to_dquat(DualQuat *dq,float basemat[][4], float mat[][4]) dq->trans[3]= 0.5f*(t[0]*q[2] - t[1]*q[1] + t[2]*q[0]); } -void dquat_to_mat4(float mat[][4],DualQuat *dq) +void dquat_to_mat4(float mat[][4], DualQuat *dq) { float len, *t, q0[4]; diff --git a/source/blender/editors/space_view3d/view3d_snap.c b/source/blender/editors/space_view3d/view3d_snap.c index d6778070931..9f6054a5d4f 100644 --- a/source/blender/editors/space_view3d/view3d_snap.c +++ b/source/blender/editors/space_view3d/view3d_snap.c @@ -921,7 +921,7 @@ void VIEW3D_OT_snap_cursor_to_center(wmOperatorType *ot) /* api callbacks */ ot->exec= snap_curs_to_center; - ot->poll= ED_operator_view3d_active; + ot->poll= ED_operator_view3d_active; /* flags */ ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO; -- cgit v1.2.3 From 8aa4f5ea14bed502528839de0026edf657097d34 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Fri, 22 Oct 2010 06:00:12 +0000 Subject: fix for BGE define in recent math changes. --- source/gameengine/Converter/KX_BlenderSceneConverter.cpp | 6 ------ 1 file changed, 6 deletions(-) diff --git a/source/gameengine/Converter/KX_BlenderSceneConverter.cpp b/source/gameengine/Converter/KX_BlenderSceneConverter.cpp index 6f64f4e33af..7ec7104f1f4 100644 --- a/source/gameengine/Converter/KX_BlenderSceneConverter.cpp +++ b/source/gameengine/Converter/KX_BlenderSceneConverter.cpp @@ -623,12 +623,6 @@ void KX_BlenderSceneConverter::RegisterWorldInfo( m_worldinfos.push_back(pair(m_currentScene,worldinfo)); } -//quick hack -extern "C" -{ - void mat3_to_compatible_eul( float *eul, float *oldrot,float mat[][3]); -} - void KX_BlenderSceneConverter::ResetPhysicsObjectsAnimationIpo(bool clearIpo) { -- cgit v1.2.3 From 347900a3d6a9bd1b53fb8b8e48c4d7e9f7011ffe Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Fri, 22 Oct 2010 06:25:14 +0000 Subject: [#21331] Pose snap not working in some cases The bone option 'Local Location' (flag BONE_NO_LOCAL_LOCATION) makes the location apply differently so snap to cursor failed for pose bones. --- source/blender/blenkernel/intern/armature.c | 45 +++++++++++++++++++++-------- 1 file changed, 33 insertions(+), 12 deletions(-) diff --git a/source/blender/blenkernel/intern/armature.c b/source/blender/blenkernel/intern/armature.c index f77992262a7..0eaef5f250f 100644 --- a/source/blender/blenkernel/intern/armature.c +++ b/source/blender/blenkernel/intern/armature.c @@ -1105,21 +1105,42 @@ void armature_mat_pose_to_bone(bPoseChannel *pchan, float inmat[][4], float outm { float pc_trans[4][4], inv_trans[4][4]; float pc_posemat[4][4], inv_posemat[4][4]; - + float pose_mat[4][4]; + /* paranoia: prevent crashes with no pose-channel supplied */ if (pchan==NULL) return; - /* get the inverse matrix of the pchan's transforms */ - switch(pchan->rotmode) { - case ROT_MODE_QUAT: - loc_quat_size_to_mat4(pc_trans, pchan->loc, pchan->quat, pchan->size); - break; - case ROT_MODE_AXISANGLE: - loc_axisangle_size_to_mat4(pc_trans, pchan->loc, pchan->rotAxis, pchan->rotAngle, pchan->size); - break; - default: /* euler */ - loc_eul_size_to_mat4(pc_trans, pchan->loc, pchan->eul, pchan->size); + /* default flag */ + if((pchan->bone->flag & BONE_NO_LOCAL_LOCATION)==0) { + /* get the inverse matrix of the pchan's transforms */ + switch(pchan->rotmode) { + case ROT_MODE_QUAT: + loc_quat_size_to_mat4(pc_trans, pchan->loc, pchan->quat, pchan->size); + break; + case ROT_MODE_AXISANGLE: + loc_axisangle_size_to_mat4(pc_trans, pchan->loc, pchan->rotAxis, pchan->rotAngle, pchan->size); + break; + default: /* euler */ + loc_eul_size_to_mat4(pc_trans, pchan->loc, pchan->eul, pchan->size); + } + + copy_m4_m4(pose_mat, pchan->pose_mat); } + else { + /* local location, this is not default, different calculation + * note: only tested for location with pose bone snapping. + * If this is not useful in other cases the BONE_NO_LOCAL_LOCATION + * case may have to be split into its own function. */ + unit_m4(pc_trans); + copy_v3_v3(pc_trans[3], pchan->loc); + + /* use parents rotation/scale space + own absolute position */ + if(pchan->parent) copy_m4_m4(pose_mat, pchan->parent->pose_mat); + else unit_m4(pose_mat); + + copy_v3_v3(pose_mat[3], pchan->pose_mat[3]); + } + invert_m4_m4(inv_trans, pc_trans); @@ -1127,7 +1148,7 @@ void armature_mat_pose_to_bone(bPoseChannel *pchan, float inmat[][4], float outm * This should leave behind the effects of restpose + * parenting + constraints */ - mul_m4_m4m4(pc_posemat, inv_trans, pchan->pose_mat); + mul_m4_m4m4(pc_posemat, inv_trans, pose_mat); /* get the inverse of the leftovers so that we can remove * that component from the supplied matrix -- cgit v1.2.3 From 6540bb1375b025ef0b65bc65a54b7f8ea6cfed8e Mon Sep 17 00:00:00 2001 From: Nathan Letwory Date: Fri, 22 Oct 2010 10:17:55 +0000 Subject: Add some missing const's --- source/blender/blenlib/BLI_math_base.h | 1 + source/blender/blenlib/BLI_math_matrix.h | 2 +- source/blender/blenlib/BLI_math_vector.h | 4 ++-- source/blender/blenlib/intern/math_rotation.c | 4 ++-- 4 files changed, 6 insertions(+), 5 deletions(-) diff --git a/source/blender/blenlib/BLI_math_base.h b/source/blender/blenlib/BLI_math_base.h index 77266e2e9d8..2feacd64651 100644 --- a/source/blender/blenlib/BLI_math_base.h +++ b/source/blender/blenlib/BLI_math_base.h @@ -128,6 +128,7 @@ extern "C" { #ifndef FREE_WINDOWS #define isnan(n) _isnan(n) #define finite _finite +#define hypot _hypot #endif #endif diff --git a/source/blender/blenlib/BLI_math_matrix.h b/source/blender/blenlib/BLI_math_matrix.h index e4f477238f5..d25707d480c 100644 --- a/source/blender/blenlib/BLI_math_matrix.h +++ b/source/blender/blenlib/BLI_math_matrix.h @@ -142,7 +142,7 @@ void mat3_to_size(float r[3], float M[3][3]); void mat4_to_size(float r[3], float M[4][4]); void translate_m4(float mat[4][4], float tx, float ty, float tz); -void rotate_m4(float mat[4][4], char axis, float angle); +void rotate_m4(float mat[4][4], const char axis, const float angle); void loc_eul_size_to_mat4(float R[4][4], const float loc[3], const float eul[3], const float size[3]); diff --git a/source/blender/blenlib/BLI_math_vector.h b/source/blender/blenlib/BLI_math_vector.h index 93d463e17ea..3fceef36e2a 100644 --- a/source/blender/blenlib/BLI_math_vector.h +++ b/source/blender/blenlib/BLI_math_vector.h @@ -168,8 +168,8 @@ void minmax_v3v3_v3(float min[3], float max[3], const float vec[3]); /***************************** Array Functions *******************************/ /* attempted to follow fixed length vertex functions. names could be improved*/ void range_vni(int *array, const int size, const int start); -void mul_vn_fl(float *array, int size, const float f); -void mul_vn_vn_fl(float *array_tar, const float *array_src, int size, const float f); +void mul_vn_fl(float *array, const int size, const float f); +void mul_vn_vn_fl(float *array_tar, const float *array_src, const int size, const float f); void add_vn_vn(float *array_tar, const float *array_src, const int size); void fill_vni(int *array_tar, const int size, const int val); diff --git a/source/blender/blenlib/intern/math_rotation.c b/source/blender/blenlib/intern/math_rotation.c index 7f615462ab0..7debdcdb015 100644 --- a/source/blender/blenlib/intern/math_rotation.c +++ b/source/blender/blenlib/intern/math_rotation.c @@ -624,7 +624,7 @@ void quat_to_axis_angle(float axis[3], float *angle, const float q[4]) } /* Axis Angle to Euler Rotation */ -void axis_angle_to_eulO(float eul[3], short order, const float axis[3], const float angle) +void axis_angle_to_eulO(float eul[3], const short order, const float axis[3], const float angle) { float q[4]; @@ -1175,7 +1175,7 @@ void mat3_to_eulO(float e[3], short order,float M[3][3]) } /* Convert 4x4 matrix to Euler angles (in radians). */ -void mat4_to_eulO(float e[3], short order,float M[4][4]) +void mat4_to_eulO(float e[3], const short order,float M[4][4]) { float m[3][3]; -- cgit v1.2.3 From c821fc85d3a10e4932ea6ec7229c636f271a4c0b Mon Sep 17 00:00:00 2001 From: Nathan Letwory Date: Fri, 22 Oct 2010 10:18:58 +0000 Subject: index for openmp loop needs to be signed int. --- source/blender/blenlib/intern/BLI_kdopbvh.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/source/blender/blenlib/intern/BLI_kdopbvh.c b/source/blender/blenlib/intern/BLI_kdopbvh.c index 0204f9b1430..8c0be971682 100644 --- a/source/blender/blenlib/intern/BLI_kdopbvh.c +++ b/source/blender/blenlib/intern/BLI_kdopbvh.c @@ -1128,7 +1128,8 @@ static void traverse(BVHOverlapData *data, BVHNode *node1, BVHNode *node2) BVHTreeOverlap *BLI_bvhtree_overlap(BVHTree *tree1, BVHTree *tree2, unsigned int *result) { - unsigned int j, total = 0; + int j; + unsigned int total = 0; BVHTreeOverlap *overlap = NULL, *to = NULL; BVHOverlapData **data; -- cgit v1.2.3 From d3ac70909ef88eb3a76ab9f875491bbb62ed2bf0 Mon Sep 17 00:00:00 2001 From: Joshua Leung Date: Fri, 22 Oct 2010 11:38:10 +0000 Subject: Bugfix #20708: segmented bones don't work well with spline IK There was a slight discreptancy between the tail values calculated on the spline before the head was displaced for the "chain offset" option and after this operation. However, only the original version got set. This small difference resulted in B-Bones thinking that the endpoints of the bones were in places that they were not in, hence causing the curly patterns observed in the report. --- source/blender/blenkernel/BKE_armature.h | 1 + source/blender/blenkernel/intern/armature.c | 17 +++++++++++++---- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/source/blender/blenkernel/BKE_armature.h b/source/blender/blenkernel/BKE_armature.h index 242de4d788b..466b5d9a845 100644 --- a/source/blender/blenkernel/BKE_armature.h +++ b/source/blender/blenkernel/BKE_armature.h @@ -91,6 +91,7 @@ void where_is_armature_bone(struct Bone *bone, struct Bone *prevbone); void armature_rebuild_pose(struct Object *ob, struct bArmature *arm); void where_is_pose (struct Scene *scene, struct Object *ob); void where_is_pose_bone(struct Scene *scene, struct Object *ob, struct bPoseChannel *pchan, float ctime, int do_extra); +void where_is_pose_bone_tail(struct bPoseChannel *pchan); /* get_objectspace_bone_matrix has to be removed still */ void get_objectspace_bone_matrix (struct Bone* bone, float M_accumulatedMatrix[][4], int root, int posed); diff --git a/source/blender/blenkernel/intern/armature.c b/source/blender/blenkernel/intern/armature.c index 0eaef5f250f..029b3c2e141 100644 --- a/source/blender/blenkernel/intern/armature.c +++ b/source/blender/blenkernel/intern/armature.c @@ -2018,7 +2018,9 @@ static void splineik_evaluate_bone(tSplineIK_Tree *tree, Scene *scene, Object *o /* finally, store the new transform */ copy_m4_m4(pchan->pose_mat, poseMat); VECCOPY(pchan->pose_head, poseHead); - VECCOPY(pchan->pose_tail, poseTail); + + /* recalculate tail, as it's now outdated after the head gets adjusted above! */ + where_is_pose_bone_tail(pchan); /* done! */ pchan->flag |= POSE_DONE; @@ -2231,6 +2233,15 @@ static void do_strip_modifiers(Scene *scene, Object *armob, Bone *bone, bPoseCha } } +/* calculate tail of posechannel */ +void where_is_pose_bone_tail(bPoseChannel *pchan) +{ + float vec[3]; + + VECCOPY(vec, pchan->pose_mat[1]); + mul_v3_fl(vec, pchan->bone->length); + add_v3_v3v3(pchan->pose_tail, pchan->pose_head, vec); +} /* The main armature solver, does all constraints excluding IK */ /* pchan is validated, as having bone and parent pointer @@ -2364,9 +2375,7 @@ void where_is_pose_bone(Scene *scene, Object *ob, bPoseChannel *pchan, float cti /* calculate head */ VECCOPY(pchan->pose_head, pchan->pose_mat[3]); /* calculate tail */ - VECCOPY(vec, pchan->pose_mat[1]); - mul_v3_fl(vec, bone->length); - add_v3_v3v3(pchan->pose_tail, pchan->pose_head, vec); + where_is_pose_bone_tail(pchan); } /* This only reads anim data from channels, and writes to channels */ -- cgit v1.2.3 From 7b573e0f265496e4fe02c4e29253913ec6a15da0 Mon Sep 17 00:00:00 2001 From: Nathan Letwory Date: Fri, 22 Oct 2010 11:51:10 +0000 Subject: Export UV Layout to PNG would fail if original mesh didn't have materials assigned. Reported in #blender.fi by Mats Holmberg --- release/scripts/op/uv.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/release/scripts/op/uv.py b/release/scripts/op/uv.py index 8fea37ef420..5ab1507a6a6 100644 --- a/release/scripts/op/uv.py +++ b/release/scripts/op/uv.py @@ -166,8 +166,13 @@ def write_png(fw, mesh_source, image_width, image_height, face_iter): # place behind the wire obj_solid.location = 0, 0, -1 - obj_wire.material_slots[0].link = 'OBJECT' - obj_wire.material_slots[0].material = material_wire + try: + obj_wire.material_slots[0].link = 'OBJECT' + obj_wire.material_slots[0].material = material_wire + except: # orig object didn't have material, add one here + obj_wire.data.materials.append(material_wire) + obj_wire.material_slots[0].link = 'OBJECT' + obj_wire.material_slots[0].material = material_wire # setup the camera -- cgit v1.2.3 From e41ef09563f6c55f140938b4b3e146e27c726279 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Fri, 22 Oct 2010 12:35:31 +0000 Subject: change to Nathan's fix which also works with empty material slots. --- release/scripts/op/uv.py | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/release/scripts/op/uv.py b/release/scripts/op/uv.py index 5ab1507a6a6..17520ff6d77 100644 --- a/release/scripts/op/uv.py +++ b/release/scripts/op/uv.py @@ -113,7 +113,7 @@ def write_png(fw, mesh_source, image_width, image_height, face_iter): filepath = fw.__self__.name fw.__self__.close() - material_solids = [bpy.data.materials.new("uv_temp_solid") for i in range(len(mesh_source.materials))] + material_solids = [bpy.data.materials.new("uv_temp_solid") for i in range(max(1, len(mesh_source.materials)))] material_wire = bpy.data.materials.new("uv_temp_wire") scene = bpy.data.scenes.new("uv_temp") @@ -166,13 +166,8 @@ def write_png(fw, mesh_source, image_width, image_height, face_iter): # place behind the wire obj_solid.location = 0, 0, -1 - try: - obj_wire.material_slots[0].link = 'OBJECT' - obj_wire.material_slots[0].material = material_wire - except: # orig object didn't have material, add one here - obj_wire.data.materials.append(material_wire) - obj_wire.material_slots[0].link = 'OBJECT' - obj_wire.material_slots[0].material = material_wire + obj_wire.material_slots[0].link = 'OBJECT' + obj_wire.material_slots[0].material = material_wire # setup the camera @@ -186,7 +181,9 @@ def write_png(fw, mesh_source, image_width, image_height, face_iter): # setup materials for i, mat_solid in enumerate(material_solids): - mat_solid.diffuse_color = mesh_source.materials[i].diffuse_color + if mesh_source.materials and mesh_source.materials[i]: + mat_solid.diffuse_color = mesh_source.materials[i].diffuse_color + mat_solid.use_shadeless = True mat_solid.use_transparency = True mat_solid.alpha = 0.25 -- cgit v1.2.3 From 65797d285f6fb5024f7ae9e4aec2c34786963ca0 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Fri, 22 Oct 2010 13:02:41 +0000 Subject: bpy.props: replace common error checks with macros, ugly but better then duplicates. --- source/blender/python/intern/bpy_props.c | 187 +++++-------------------------- 1 file changed, 31 insertions(+), 156 deletions(-) diff --git a/source/blender/python/intern/bpy_props.c b/source/blender/python/intern/bpy_props.c index 96fc9443cf5..25351342402 100644 --- a/source/blender/python/intern/bpy_props.c +++ b/source/blender/python/intern/bpy_props.c @@ -132,6 +132,27 @@ static PyObject *bpy_prop_deferred_return(PyObject *func, PyObject *kw) return bpy_prop_deferred_return((void *)pymeth_##_func, kw); \ } \ +/* terse macros for error checks shared between all funcs cant use function + * calls because of static strins passed to pyrna_set_to_enum_bitfield */ +#define BPY_PROPDEF_CHECK(_func) \ + if(id_len >= MAX_IDPROP_NAME) { \ + PyErr_Format(PyExc_TypeError, #_func"(): '%.200s' too long, max length is %d", id, MAX_IDPROP_NAME-1); \ + return NULL; \ + } \ + if(RNA_def_property_free_identifier(srna, id) == -1) { \ + PyErr_Format(PyExc_TypeError, #_func"(): '%s' is defined as a non-dynamic type.", id); \ + return NULL; \ + } \ + if(pyopts && pyrna_set_to_enum_bitfield(property_flag_items, pyopts, &opts, #_func"(options={...}):")) \ + return NULL; \ + +#define BPY_PROPDEF_SUBTYPE_CHECK(_func, _subtype) \ + BPY_PROPDEF_CHECK(_func) \ + if(pysubtype && RNA_enum_value_from_id(_subtype, pysubtype, &subtype)==0) { \ + PyErr_Format(PyExc_TypeError, #_func"(subtype='%s'): invalid subtype.", pysubtype); \ + return NULL; \ + } \ + #if 0 static int bpy_struct_id_used(StructRNA *srna, char *identifier) @@ -175,25 +196,8 @@ static PyObject *BPy_BoolProperty(PyObject *self, PyObject *args, PyObject *kw) if (!PyArg_ParseTupleAndKeywords(args, kw, "s#|ssiO!s:BoolProperty", (char **)kwlist, &id, &id_len, &name, &description, &def, &PySet_Type, &pyopts, &pysubtype)) return NULL; - if(id_len >= MAX_IDPROP_NAME) { - PyErr_Format(PyExc_TypeError, "BoolProperty(): %.200s too long, max length is %d", id, MAX_IDPROP_NAME-1); - return NULL; - } + BPY_PROPDEF_SUBTYPE_CHECK(BoolProperty, property_subtype_number_items) - if(RNA_def_property_free_identifier(srna, id) == -1) { - PyErr_Format(PyExc_TypeError, "BoolProperty(): '%s' is defined as a non-dynamic type.", id); - return NULL; - } - - if(pyopts && pyrna_set_to_enum_bitfield(property_flag_items, pyopts, &opts, "BoolProperty(options={...}):")) - return NULL; - - if(pysubtype && RNA_enum_value_from_id(property_subtype_number_items, pysubtype, &subtype)==0) { - PyErr_Format(PyExc_TypeError, "BoolProperty(subtype='%s'): invalid subtype.", pysubtype); - return NULL; - } - - // prop= RNA_def_boolean(srna, id, def, name, description); prop= RNA_def_property(srna, id, PROP_BOOLEAN, subtype); RNA_def_property_boolean_default(prop, def); RNA_def_property_ui_text(prop, name, description); @@ -239,23 +243,7 @@ static PyObject *BPy_BoolVectorProperty(PyObject *self, PyObject *args, PyObject if (!PyArg_ParseTupleAndKeywords(args, kw, "s#|ssOO!si:BoolVectorProperty", (char **)kwlist, &id, &id_len, &name, &description, &pydef, &PySet_Type, &pyopts, &pysubtype, &size)) return NULL; - if(id_len >= MAX_IDPROP_NAME) { - PyErr_Format(PyExc_TypeError, "BoolVectorProperty(): %.200s too long, max length is %d", id, MAX_IDPROP_NAME-1); - return NULL; - } - - if(RNA_def_property_free_identifier(srna, id) == -1) { - PyErr_Format(PyExc_TypeError, "BoolVectorProperty(): '%s' is defined as a non-dynamic type.", id); - return NULL; - } - - if(pyopts && pyrna_set_to_enum_bitfield(property_flag_items, pyopts, &opts, "BoolVectorProperty(options={...}):")) - return NULL; - - if(pysubtype && RNA_enum_value_from_id(property_subtype_array_items, pysubtype, &subtype)==0) { - PyErr_Format(PyExc_TypeError, "BoolVectorProperty(subtype='%s'): invalid subtype.", pysubtype); - return NULL; - } + BPY_PROPDEF_SUBTYPE_CHECK(BoolVectorProperty, property_subtype_array_items) if(size < 1 || size > PYRNA_STACK_ARRAY) { PyErr_Format(PyExc_TypeError, "BoolVectorProperty(size=%d): size must be between 0 and " STRINGIFY(PYRNA_STACK_ARRAY), size); @@ -310,23 +298,7 @@ static PyObject *BPy_IntProperty(PyObject *self, PyObject *args, PyObject *kw) if (!PyArg_ParseTupleAndKeywords(args, kw, "s#|ssiiiiiiO!s:IntProperty", (char **)kwlist, &id, &id_len, &name, &description, &def, &min, &max, &soft_min, &soft_max, &step, &PySet_Type, &pyopts, &pysubtype)) return NULL; - if(id_len >= MAX_IDPROP_NAME) { - PyErr_Format(PyExc_TypeError, "IntProperty(): %.200s too long, max length is %d", id, MAX_IDPROP_NAME-1); - return NULL; - } - - if(RNA_def_property_free_identifier(srna, id) == -1) { - PyErr_Format(PyExc_TypeError, "IntProperty(): '%s' is defined as a non-dynamic type.", id); - return NULL; - } - - if(pyopts && pyrna_set_to_enum_bitfield(property_flag_items, pyopts, &opts, "IntProperty(options={...}):")) - return NULL; - - if(pysubtype && RNA_enum_value_from_id(property_subtype_number_items, pysubtype, &subtype)==0) { - PyErr_Format(PyExc_TypeError, "IntProperty(subtype='%s'): invalid subtype.", pysubtype); - return NULL; - } + BPY_PROPDEF_SUBTYPE_CHECK(IntProperty, property_subtype_number_items) prop= RNA_def_property(srna, id, PROP_INT, subtype); RNA_def_property_int_default(prop, def); @@ -374,23 +346,7 @@ static PyObject *BPy_IntVectorProperty(PyObject *self, PyObject *args, PyObject if (!PyArg_ParseTupleAndKeywords(args, kw, "s#|ssOiiiiiO!si:IntVectorProperty", (char **)kwlist, &id, &id_len, &name, &description, &pydef, &min, &max, &soft_min, &soft_max, &step, &PySet_Type, &pyopts, &pysubtype, &size)) return NULL; - if(id_len >= MAX_IDPROP_NAME) { - PyErr_Format(PyExc_TypeError, "IntVectorProperty(): %.200s too long, max length is %d", id, MAX_IDPROP_NAME-1); - return NULL; - } - - if(RNA_def_property_free_identifier(srna, id) == -1) { - PyErr_Format(PyExc_TypeError, "IntVectorProperty(): '%s' is defined as a non-dynamic type.", id); - return NULL; - } - - if(pyopts && pyrna_set_to_enum_bitfield(property_flag_items, pyopts, &opts, "IntVectorProperty(options={...}):")) - return NULL; - - if(pysubtype && RNA_enum_value_from_id(property_subtype_array_items, pysubtype, &subtype)==0) { - PyErr_Format(PyExc_TypeError, "IntVectorProperty(subtype='%s'): invalid subtype.", pysubtype); - return NULL; - } + BPY_PROPDEF_SUBTYPE_CHECK(IntVectorProperty, property_subtype_array_items) if(size < 1 || size > PYRNA_STACK_ARRAY) { PyErr_Format(PyExc_TypeError, "IntVectorProperty(size=%d): size must be between 0 and " STRINGIFY(PYRNA_STACK_ARRAY), size); @@ -451,23 +407,7 @@ static PyObject *BPy_FloatProperty(PyObject *self, PyObject *args, PyObject *kw) if (!PyArg_ParseTupleAndKeywords(args, kw, "s#|ssffffffiO!ss:FloatProperty", (char **)kwlist, &id, &id_len, &name, &description, &def, &min, &max, &soft_min, &soft_max, &step, &precision, &PySet_Type, &pyopts, &pysubtype, &pyunit)) return NULL; - if(id_len >= MAX_IDPROP_NAME) { - PyErr_Format(PyExc_TypeError, "FloatProperty(): %.200s too long, max length is %d", id, MAX_IDPROP_NAME-1); - return NULL; - } - - if(RNA_def_property_free_identifier(srna, id) == -1) { - PyErr_Format(PyExc_TypeError, "FloatProperty(): '%s' is defined as a non-dynamic type.", id); - return NULL; - } - - if(pyopts && pyrna_set_to_enum_bitfield(property_flag_items, pyopts, &opts, "FloatProperty(options={...}):")) - return NULL; - - if(pysubtype && RNA_enum_value_from_id(property_subtype_number_items, pysubtype, &subtype)==0) { - PyErr_Format(PyExc_TypeError, "FloatProperty(subtype='%s'): invalid subtype.", pysubtype); - return NULL; - } + BPY_PROPDEF_SUBTYPE_CHECK(FloatProperty, property_subtype_number_items) if(pyunit && RNA_enum_value_from_id(property_unit_items, pyunit, &unit)==0) { PyErr_Format(PyExc_TypeError, "FloatProperty(unit='%s'): invalid unit."); @@ -520,23 +460,7 @@ static PyObject *BPy_FloatVectorProperty(PyObject *self, PyObject *args, PyObjec if (!PyArg_ParseTupleAndKeywords(args, kw, "s#|ssOfffffiO!si:FloatVectorProperty", (char **)kwlist, &id, &id_len, &name, &description, &pydef, &min, &max, &soft_min, &soft_max, &step, &precision, &PySet_Type, &pyopts, &pysubtype, &size)) return NULL; - if(id_len >= MAX_IDPROP_NAME) { - PyErr_Format(PyExc_TypeError, "FloatVectorProperty(): %.200s too long, max length is %d", id, MAX_IDPROP_NAME-1); - return NULL; - } - - if(RNA_def_property_free_identifier(srna, id) == -1) { - PyErr_Format(PyExc_TypeError, "FloatVectorProperty(): '%s' is defined as a non-dynamic type.", id); - return NULL; - } - - if(pyopts && pyrna_set_to_enum_bitfield(property_flag_items, pyopts, &opts, "FloatVectorProperty(options={...}):")) - return NULL; - - if(pysubtype && RNA_enum_value_from_id(property_subtype_array_items, pysubtype, &subtype)==0) { - PyErr_Format(PyExc_TypeError, "FloatVectorProperty(subtype='%s'): invalid subtype.", pysubtype); - return NULL; - } + BPY_PROPDEF_SUBTYPE_CHECK(FloatVectorProperty, property_subtype_array_items) if(size < 1 || size > PYRNA_STACK_ARRAY) { PyErr_Format(PyExc_TypeError, "FloatVectorProperty(size=%d): size must be between 0 and " STRINGIFY(PYRNA_STACK_ARRAY), size); @@ -591,23 +515,7 @@ static PyObject *BPy_StringProperty(PyObject *self, PyObject *args, PyObject *kw if (!PyArg_ParseTupleAndKeywords(args, kw, "s#|sssiO!s:StringProperty", (char **)kwlist, &id, &id_len, &name, &description, &def, &maxlen, &PySet_Type, &pyopts, &pysubtype)) return NULL; - if(id_len >= MAX_IDPROP_NAME) { - PyErr_Format(PyExc_TypeError, "StringProperty(): %.200s too long, max length is %d", id, MAX_IDPROP_NAME-1); - return NULL; - } - - if(RNA_def_property_free_identifier(srna, id) == -1) { - PyErr_Format(PyExc_TypeError, "StringProperty(): '%s' is defined as a non-dynamic type.", id); - return NULL; - } - - if(pyopts && pyrna_set_to_enum_bitfield(property_flag_items, pyopts, &opts, "StringProperty(options={...}):")) - return NULL; - - if(pysubtype && RNA_enum_value_from_id(property_subtype_string_items, pysubtype, &subtype)==0) { - PyErr_Format(PyExc_TypeError, "StringProperty(subtype='%s'): invalid subtype.", pysubtype); - return NULL; - } + BPY_PROPDEF_SUBTYPE_CHECK(StringProperty, property_subtype_string_items) prop= RNA_def_property(srna, id, PROP_STRING, subtype); if(maxlen != 0) RNA_def_property_string_maxlength(prop, maxlen + 1); /* +1 since it includes null terminator */ @@ -698,18 +606,7 @@ static PyObject *BPy_EnumProperty(PyObject *self, PyObject *args, PyObject *kw) if (!PyArg_ParseTupleAndKeywords(args, kw, "s#O|sssO!:EnumProperty", (char **)kwlist, &id, &id_len, &items, &name, &description, &def, &PySet_Type, &pyopts)) return NULL; - if(id_len >= MAX_IDPROP_NAME) { - PyErr_Format(PyExc_TypeError, "EnumProperty(): %.200s too long, max length is %d", id, MAX_IDPROP_NAME-1); - return NULL; - } - - if(RNA_def_property_free_identifier(srna, id) == -1) { - PyErr_Format(PyExc_TypeError, "EnumProperty(): '%s' is defined as a non-dynamic type.", id); - return NULL; - } - - if(pyopts && pyrna_set_to_enum_bitfield(property_flag_items, pyopts, &opts, "EnumProperty(options={...}):")) - return NULL; + BPY_PROPDEF_CHECK(EnumProperty) eitems= enum_items_from_py(items, def, &defvalue); if(!eitems) @@ -776,18 +673,7 @@ static PyObject *BPy_PointerProperty(PyObject *self, PyObject *args, PyObject *k if (!PyArg_ParseTupleAndKeywords(args, kw, "s#O|ssO!:PointerProperty", (char **)kwlist, &id, &id_len, &type, &name, &description, &PySet_Type, &pyopts)) return NULL; - if(id_len >= MAX_IDPROP_NAME) { - PyErr_Format(PyExc_TypeError, "PointerProperty(): %.200s too long, max length is %d", id, MAX_IDPROP_NAME-1); - return NULL; - } - - if(RNA_def_property_free_identifier(srna, id) == -1) { - PyErr_Format(PyExc_TypeError, "PointerProperty(): '%s' is defined as a non-dynamic type.", id); - return NULL; - } - - if(pyopts && pyrna_set_to_enum_bitfield(property_flag_items, pyopts, &opts, "PointerProperty(options={...}):")) - return NULL; + BPY_PROPDEF_CHECK(PointerProperty) ptype= pointer_type_from_py(type, "PointerProperty(...):"); if(!ptype) @@ -831,18 +717,7 @@ static PyObject *BPy_CollectionProperty(PyObject *self, PyObject *args, PyObject if (!PyArg_ParseTupleAndKeywords(args, kw, "s#O|ssO!:CollectionProperty", (char **)kwlist, &id, &id_len, &type, &name, &description, &PySet_Type, &pyopts)) return NULL; - if(id_len >= MAX_IDPROP_NAME) { - PyErr_Format(PyExc_TypeError, "CollectionProperty(): %.200s too long, max length is %d", id, MAX_IDPROP_NAME-1); - return NULL; - } - - if(RNA_def_property_free_identifier(srna, id) == -1) { - PyErr_Format(PyExc_TypeError, "CollectionProperty(): '%s' is defined as a non-dynamic type.", id); - return NULL; - } - - if(pyopts && pyrna_set_to_enum_bitfield(property_flag_items, pyopts, &opts, "CollectionProperty(options={...}):")) - return NULL; + BPY_PROPDEF_CHECK(CollectionProperty) ptype= pointer_type_from_py(type, "CollectionProperty(...):"); if(!ptype) -- cgit v1.2.3 From dad9423dd605eab60f19f4e76ad7b71ff37be827 Mon Sep 17 00:00:00 2001 From: Nathan Letwory Date: Fri, 22 Oct 2010 14:04:54 +0000 Subject: Include BLI_storage.h where zlib.h is also included. Some systems need _LARGESOURCE64_FILE defined for zlib to not throw errors. --- source/blender/blenkernel/intern/exotic.c | 1 + source/blender/blenkernel/intern/particle_system.c | 1 + 2 files changed, 2 insertions(+) diff --git a/source/blender/blenkernel/intern/exotic.c b/source/blender/blenkernel/intern/exotic.c index c5431005b18..5e2ca921ef2 100644 --- a/source/blender/blenkernel/intern/exotic.c +++ b/source/blender/blenkernel/intern/exotic.c @@ -64,6 +64,7 @@ #include "BKE_utildefines.h" #include "BLI_blenlib.h" #include "BLI_math.h" +#include "BLI_storage.h" #include "BKE_blender.h" #include "BKE_global.h" diff --git a/source/blender/blenkernel/intern/particle_system.c b/source/blender/blenkernel/intern/particle_system.c index 34abe45981c..be616d9922c 100644 --- a/source/blender/blenkernel/intern/particle_system.c +++ b/source/blender/blenkernel/intern/particle_system.c @@ -62,6 +62,7 @@ #include "BLI_kdopbvh.h" #include "BLI_listbase.h" #include "BLI_threads.h" +#include "BLI_storage.h" /* For _LARGEFILE64_SOURCE; zlib needs this on some systems */ #include "BKE_main.h" #include "BKE_animsys.h" -- cgit v1.2.3 From a77301839d8780f7d0ffed6c050ef2131f84b419 Mon Sep 17 00:00:00 2001 From: Doug Hammond Date: Fri, 22 Oct 2010 18:55:10 +0000 Subject: Add release/scripts/modules/extensions_framework (formerly known as exporter_framework). --- .../modules/extensions_framework/__init__.py | 156 +++++++++++++++ .../scripts/modules/extensions_framework/engine.py | 37 ++++ .../extensions_framework/outputs/__init__.py | 26 +++ .../extensions_framework/outputs/xml_output.py | 96 ++++++++++ .../scripts/modules/extensions_framework/plugin.py | 72 +++++++ release/scripts/modules/extensions_framework/ui.py | 181 ++++++++++++++++++ .../scripts/modules/extensions_framework/util.py | 211 +++++++++++++++++++++ .../modules/extensions_framework/validate.py | 208 ++++++++++++++++++++ 8 files changed, 987 insertions(+) create mode 100644 release/scripts/modules/extensions_framework/__init__.py create mode 100644 release/scripts/modules/extensions_framework/engine.py create mode 100644 release/scripts/modules/extensions_framework/outputs/__init__.py create mode 100644 release/scripts/modules/extensions_framework/outputs/xml_output.py create mode 100644 release/scripts/modules/extensions_framework/plugin.py create mode 100644 release/scripts/modules/extensions_framework/ui.py create mode 100644 release/scripts/modules/extensions_framework/util.py create mode 100644 release/scripts/modules/extensions_framework/validate.py diff --git a/release/scripts/modules/extensions_framework/__init__.py b/release/scripts/modules/extensions_framework/__init__.py new file mode 100644 index 00000000000..fdb7ddd706d --- /dev/null +++ b/release/scripts/modules/extensions_framework/__init__.py @@ -0,0 +1,156 @@ +# -*- coding: utf8 -*- +# +# ***** BEGIN GPL LICENSE BLOCK ***** +# +# -------------------------------------------------------------------------- +# Blender 2.5 Extensions Framework +# -------------------------------------------------------------------------- +# +# Authors: +# Doug Hammond +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, see . +# +# ***** END GPL LICENCE BLOCK ***** +# + +import os, time +import bpy + +#---------------------------------------------------------------------------------------------------------------------- + +def log(str, popup=False, module_name='EF'): + print("[%s %s] %s" % (module_name, time.strftime('%Y-%b-%d %H:%M:%S'), str)) + if popup: + bpy.ops.ef.msg( + msg_type='WARNING', + msg_text=str + ) + +#---------------------------------------------------------------------------------------------------------------------- + +from .ui import EF_OT_msg + +bpy.types.register(EF_OT_msg) +ef_path = os.path.realpath( os.path.dirname(__file__) ) +# log('Extensions_Framework detected and loaded from %s'%ef_path) + +del EF_OT_msg, os + +#---------------------------------------------------------------------------------------------------------------------- + +class ef(object): + ''' + Extensions Framework base class + ''' + + added_property_cache = {} + + +def init_properties(obj, props, cache=True): + if not obj in ef.added_property_cache.keys(): + ef.added_property_cache[obj] = [] + + for prop in props: + if cache and prop['attr'] in ef.added_property_cache[obj]: + continue + try: + if prop['type'] == 'bool': + t = bpy.props.BoolProperty + a = {k: v for k,v in prop.items() if k in ['name','description','default']} + elif prop['type'] == 'collection': + t = bpy.props.CollectionProperty + a = {k: v for k,v in prop.items() if k in ["ptype", "name", "description"]} + a['type'] = a['ptype'] + del a['ptype'] + elif prop['type'] == 'enum': + t = bpy.props.EnumProperty + a = {k: v for k,v in prop.items() if k in ["items", "name", "description", "default"]} + elif prop['type'] == 'float': + t = bpy.props.FloatProperty + a = {k: v for k,v in prop.items() if k in ["name", "description", "min", "max", "soft_min", "soft_max", "default", "precision"]} + elif prop['type'] == 'float_vector': + t = bpy.props.FloatVectorProperty + a = {k: v for k,v in prop.items() if k in ["name", "description", "min", "max", "soft_min", "soft_max", "default", "precision", "size", "subtype"]} + elif prop['type'] == 'int': + t = bpy.props.IntProperty + a = {k: v for k,v in prop.items() if k in ["name", "description", "min", "max", "soft_min", "soft_max", "default"]} + elif prop['type'] == 'pointer': + t = bpy.props.PointerProperty + a = {k: v for k,v in prop.items() if k in ["ptype", "name", "description"]} + a['type'] = a['ptype'] + del a['ptype'] + elif prop['type'] == 'string': + t = bpy.props.StringProperty + a = {k: v for k,v in prop.items() if k in ["name", "description", "maxlen", "default", "subtype"]} + else: + #ef.log('Property type not recognised: %s' % prop['type']) + continue + + setattr(obj, prop['attr'], t(**a)) + + ef.added_property_cache[obj].append(prop['attr']) + #log('Created property %s.%s' % (obj, prop['attr'])) + except KeyError: + continue + +class declarative_property_group(bpy.types.IDPropertyGroup): + + controls = [ + # this list controls the order of property + # layout when rendered by a property_group_renderer. + # This can be a nested list, where each list + # becomes a row in the panel layout. + # nesting may be to any depth + ] + + # Include some properties in display based on values of others + visibility = { + # See ef.validate for test syntax + } + + # engine-specific properties to create in the scene. + # Each item should be a dict of args to pass to a + # bpy.types.Scene.Property function, with the exception + # of 'type' which is used and stripped by ef + properties = [ + # example: + #{ + # 'type': 'int', + # 'attr': 'threads', + # 'name': 'Render Threads', + # 'description': 'Number of threads to use', + # 'default': 1, + # 'min': 1, + # 'soft_min': 1, + # 'max': 64, + # 'soft_max': 64 + #}, + ] + + def draw_callback(self, context): + ''' + Sub-classes can override this to get a callback + when rendered by a property_group_renderer class + ''' + + pass + + @classmethod + def get_exportable_properties(cls): + out = [] + for prop in cls.properties: + if 'save_in_preset' in prop.keys() and prop['save_in_preset']: + out.append(prop) + return out diff --git a/release/scripts/modules/extensions_framework/engine.py b/release/scripts/modules/extensions_framework/engine.py new file mode 100644 index 00000000000..448eb715bef --- /dev/null +++ b/release/scripts/modules/extensions_framework/engine.py @@ -0,0 +1,37 @@ +# -*- coding: utf8 -*- +# +# ***** BEGIN GPL LICENSE BLOCK ***** +# +# -------------------------------------------------------------------------- +# Blender 2.5 Extensions Framework +# -------------------------------------------------------------------------- +# +# Authors: +# Doug Hammond +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, see . +# +# ***** END GPL LICENCE BLOCK ***** +# +from .plugin import plugin + +class engine_base(plugin): + ''' + Render Engine plugin base class + ''' + + bl_label = 'Abstract Render Engine Base Class' + + def render(self, scene): + pass diff --git a/release/scripts/modules/extensions_framework/outputs/__init__.py b/release/scripts/modules/extensions_framework/outputs/__init__.py new file mode 100644 index 00000000000..f05ed25fbad --- /dev/null +++ b/release/scripts/modules/extensions_framework/outputs/__init__.py @@ -0,0 +1,26 @@ +# -*- coding: utf8 -*- +# +# ***** BEGIN GPL LICENSE BLOCK ***** +# +# -------------------------------------------------------------------------- +# Blender 2.5 Extensions Framework +# -------------------------------------------------------------------------- +# +# Authors: +# Doug Hammond +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, see . +# +# ***** END GPL LICENCE BLOCK ***** +# diff --git a/release/scripts/modules/extensions_framework/outputs/xml_output.py b/release/scripts/modules/extensions_framework/outputs/xml_output.py new file mode 100644 index 00000000000..4d1af9cc877 --- /dev/null +++ b/release/scripts/modules/extensions_framework/outputs/xml_output.py @@ -0,0 +1,96 @@ +# -*- coding: utf8 -*- +# +# ***** BEGIN GPL LICENSE BLOCK ***** +# +# -------------------------------------------------------------------------- +# Blender 2.5 Extensions Framework +# -------------------------------------------------------------------------- +# +# Authors: +# Doug Hammond +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, see . +# +# ***** END GPL LICENCE BLOCK ***** +# +import xml.etree.cElementTree as ET +import xml.dom.minidom as MD + +class xml_output(object): + + format = {} + + def __str__(self): + return ET.tostring(self.root) + + def write_pretty(self, file): + xml_dom = MD.parseString(ET.tostring(self.root, encoding='utf-8')) + xml_dom.writexml(file, addindent=' ', newl='\n', encoding='utf-8') + + def pretty(self): + xml_str = MD.parseString(ET.tostring(self.root)) + return xml_str.toprettyxml() + + # This should be overridden in classes that produce XML conditionally + def get_format(self): + return self.format + + def compute(self, context): + self.context = context + + self.root = ET.Element(self.root_element) + self.parse_dict(self.get_format(), self.root) + #ET.dump(root) + + return self.root + + def make_subelement(self, elem, name): + return ET.SubElement(elem, name) + + format_types = { + 'bool': lambda c,x: str(x).lower(), + 'collection': lambda c,x: x, + 'enum': lambda c,x: x, + 'float': lambda c,x: x, + 'int': lambda c,x: x, + 'pointer': lambda c,x: x, + 'string': lambda c,x: x, + } + + def parse_dict(self, d, elem): + for key in d.keys(): + # tuple provides multiple child elements + if type(d[key]) is tuple: + for cd in d[key]: + self.parse_dict({key:cd}, elem) + continue # don't create empty element for tuple child + + x = ET.SubElement(elem, key) + + # dictionary provides nested elements + if type(d[key]) is dict: + self.parse_dict(d[key], x) + + # list provides direct value insertion + elif type(d[key]) is list: + x.text = ' '.join([str(i) for i in d[key]]) + + # else look up property + else: + for p in self.properties: + if d[key] == p['attr']: + if 'compute' in p.keys(): + x.text = str(p['compute'](self.context, self)) + else: + x.text = str(self.format_types[p['type']](self.context, getattr(self, d[key]))) diff --git a/release/scripts/modules/extensions_framework/plugin.py b/release/scripts/modules/extensions_framework/plugin.py new file mode 100644 index 00000000000..b0042aad40d --- /dev/null +++ b/release/scripts/modules/extensions_framework/plugin.py @@ -0,0 +1,72 @@ +# -*- coding: utf8 -*- +# +# ***** BEGIN GPL LICENSE BLOCK ***** +# +# -------------------------------------------------------------------------- +# Blender 2.5 Extensions Framework +# -------------------------------------------------------------------------- +# +# Authors: +# Doug Hammond +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, see . +# +# ***** END GPL LICENCE BLOCK ***** +# +from . import init_properties +from . import log + +import bpy + +class plugin(object): + + # List of IDPropertyGroup types to create in the scene + property_groups = [ + # ('bpy.type prototype to attach to. eg. Scene', ) + ] + + @classmethod + def install(r_class): + # create custom property groups + for property_group_parent, property_group in r_class.property_groups: + call_init = False + if property_group_parent is not None: + prototype = getattr(bpy.types, property_group_parent) + if not hasattr(prototype, property_group.__name__): + init_properties(prototype, [{ + 'type': 'pointer', + 'attr': property_group.__name__, + 'ptype': property_group, + 'name': property_group.__name__, + 'description': property_group.__name__ + }]) + call_init = True + #print('Created IDPropertyGroup %s.%s' % (prototype, property_group.__name__)) + else: + call_init = True + + if call_init: + init_properties(property_group, property_group.properties) + #print('Initialised IDPropertyGroup %s' % property_group.__name__) + + log('Render Engine "%s" initialised' % r_class.bl_label) + + @classmethod + def uninstall(r_class): + # unregister property groups in reverse order + reverse_property_groups = [p for p in r_class.property_groups] + reverse_property_groups.reverse() + for property_group_parent, property_group in reverse_property_groups: + prototype = getattr(bpy.types, property_group_parent) + prototype.RemoveProperty(property_group.__name__) diff --git a/release/scripts/modules/extensions_framework/ui.py b/release/scripts/modules/extensions_framework/ui.py new file mode 100644 index 00000000000..5d29ed7245a --- /dev/null +++ b/release/scripts/modules/extensions_framework/ui.py @@ -0,0 +1,181 @@ +# -*- coding: utf8 -*- +# +# ***** BEGIN GPL LICENSE BLOCK ***** +# +# -------------------------------------------------------------------------- +# Blender 2.5 Extensions Framework +# -------------------------------------------------------------------------- +# +# Authors: +# Doug Hammond +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, see . +# +# ***** END GPL LICENCE BLOCK ***** +# +import bpy + +from .validate import Visibility + +class EF_OT_msg(bpy.types.Operator): + bl_idname = 'ef.msg' + bl_label = 'Show UI Message' + msg_type = bpy.props.StringProperty(default='INFO') + msg_text = bpy.props.StringProperty(default='') + def execute(self, context): + self.report({self.properties.msg_type}, self.properties.msg_text) + return {'FINISHED'} + +def _get_item_from_context(context, path): + if context is not None: + for p in path: + context = getattr(context, p) + return context + +class property_group_renderer(object): + + # Choose which custom property groups this panel should draw, and + # where to find that property group in the active context + display_property_groups = [ + # ( ('scene',), 'declarative_property_group name') + ] + + def draw(self, context): + ''' + Sub-classes should override this if they need to display + other (object-related) property groups + ''' + for property_group_path, property_group_name in self.display_property_groups: + ctx = _get_item_from_context(context, property_group_path) + property_group = getattr(ctx, property_group_name) + for p in property_group.controls: + self.draw_column(p, self.layout, ctx, context, property_group=property_group) + property_group.draw_callback(context) + + @staticmethod + def property_reload(): + ''' + override this in sub classes to force data refresh upon scene reload + ''' + pass + + def check_visibility(self, lookup_property, context, property_group): + vt = Visibility(property_group) + if lookup_property in property_group.visibility.keys(): + if hasattr(property_group, lookup_property): + member = getattr(property_group, lookup_property) + else: + member = None + return vt.test_logic(member, property_group.visibility[lookup_property]) + else: + return True + + def draw_column(self, control_list_item, layout, context, supercontext=None, property_group=None): + if type(control_list_item) is list: + do_split = False + + found_percent = None + for sp in control_list_item: + if type(sp) is float: + found_percent = sp + elif type(sp) is list: + for ssp in control_list_item: + do_split = do_split and self.check_visibility(ssp, context, property_group) + else: + do_split = do_split or self.check_visibility(sp, context, property_group) + + if do_split: + # print('split %s'%p) + if found_percent is not None: + fp = { 'percentage': found_percent } + splt = layout.split(**fp) + else: + splt = layout.row(True) + for sp in [s for s in control_list_item if type(s) in [str, list] ]: + col2 = splt.column() + self.draw_column(sp, col2, context, supercontext, property_group) + #else: + # print('dont split %s'%p) + else: + if self.check_visibility(control_list_item, context, property_group): + + for current_property in property_group.properties: + if current_property['attr'] == control_list_item: + current_property_keys = current_property.keys() + if 'type' in current_property_keys: + + if current_property['type'] in ['int', 'float', 'float_vector', 'enum', 'string']: + layout.prop( + property_group, + control_list_item, + text = current_property['name'], + expand = current_property['expand'] if 'expand' in current_property_keys else False, + slider = current_property['slider'] if 'slider' in current_property_keys else False, + toggle = current_property['toggle'] if 'toggle' in current_property_keys else False, + icon_only = current_property['icon_only'] if 'icon_only' in current_property_keys else False, + event = current_property['event'] if 'event' in current_property_keys else False, + full_event = current_property['full_event'] if 'full_event' in current_property_keys else False, + emboss = current_property['emboss'] if 'emboss' in current_property_keys else True, + ) + if current_property['type'] in ['bool']: + layout.prop( + property_group, + control_list_item, + text = current_property['name'], + toggle = current_property['toggle'] if 'toggle' in current_property_keys else False, + icon_only = current_property['icon_only'] if 'icon_only' in current_property_keys else False, + event = current_property['event'] if 'event' in current_property_keys else False, + full_event = current_property['full_event'] if 'full_event' in current_property_keys else False, + emboss = current_property['emboss'] if 'emboss' in current_property_keys else True, + ) + elif current_property['type'] in ['operator']: + layout.operator(current_property['operator'], + text = current_property['text'], + icon = current_property['icon'] + ) + + elif current_property['type'] in ['text']: + layout.label( + text = current_property['name'] + ) + + elif current_property['type'] in ['template_list']: + # row.template_list(idblock, "texture_slots", idblock, "active_texture_index", rows=2) + layout.template_list( + current_property['src'](supercontext, context), + current_property['src_attr'], + current_property['trg'](supercontext, context), + current_property['trg_attr'], + rows = 4 if not 'rows' in current_property_keys else current_property['rows'], + maxrows = 4 if not 'rows' in current_property_keys else current_property['rows'], + type = 'DEFAULT' if not 'list_type' in current_property_keys else current_property['list_type'] + ) + + elif current_property['type'] in ['prop_search']: + # split.prop_search(tex, "uv_layer", ob.data, "uv_textures", text="") + layout.prop_search( + current_property['trg'](supercontext, context), + current_property['trg_attr'], + current_property['src'](supercontext, context), + current_property['src_attr'], + text = current_property['name'], + ) + else: + layout.prop(property_group, control_list_item) + + # Fire a draw callback if specified + if 'draw' in current_property_keys: + current_property['draw'](supercontext, context) + + break diff --git a/release/scripts/modules/extensions_framework/util.py b/release/scripts/modules/extensions_framework/util.py new file mode 100644 index 00000000000..8bbeaf74ec3 --- /dev/null +++ b/release/scripts/modules/extensions_framework/util.py @@ -0,0 +1,211 @@ +# -*- coding: utf8 -*- +# +# ***** BEGIN GPL LICENSE BLOCK ***** +# +# -------------------------------------------------------------------------- +# Blender 2.5 Extensions Framework +# -------------------------------------------------------------------------- +# +# Authors: +# Doug Hammond +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# +# ***** END GPL LICENCE BLOCK ***** +# +import datetime, os, configparser, threading, tempfile + +import bpy + +config_paths = bpy.utils.script_paths() + +''' +This path is set at the start of export, so that +calls to path_relative_to_export() can make all +exported paths relative to this one +''' +export_path = ''; + +def path_relative_to_export(p): + ''' + Return a path that is relative to the export path + ''' + global export_path + p = filesystem_path(p) + try: + relp = os.path.relpath(p, os.path.dirname(export_path)) + except ValueError: # path on different drive on windows + relp = p + + #print('Resolving rel path %s -> %s' % (p, relp)) + + return relp.replace('\\', '/') + +def filesystem_path(p): + ''' + Resolve a relative Blender path to a real filesystem path + ''' + if p.startswith('//'): + pout = bpy.path.abspath(p) + else: + pout = os.path.realpath(p) + + #print('Resolving FS path %s -> %s' % (p,pout)) + + return pout.replace('\\', '/') + +# TODO: - somehow specify TYPES to get/set from config + +def find_config_value(module, section, key, default): + global config_paths + fc = [] + for p in config_paths: + if os.path.exists(p) and os.path.isdir(p) and os.access(p, os.W_OK): + fc.append( '/'.join([p, '%s.cfg' % module])) + + if len(fc) < 1: + print('Cannot find %s config file path' % module) + return default + + cp = configparser.SafeConfigParser() + + cfg_files = cp.read(fc) + if len(cfg_files) > 0: + try: + val = cp.get(section, key) + if val == 'true': + return True + elif val == 'false': + return False + else: + return val + except: + return default + else: + return default + +def write_config_value(module, section, key, value): + global config_paths + fc = [] + for p in config_paths: + if os.path.exists(p) and os.path.isdir(p) and os.access(p, os.W_OK): + fc.append( '/'.join([p, '%s.cfg' % module])) + + if len(fc) < 1: + raise Exception('Cannot find a writable path to store %s config file' % module) + + cp = configparser.SafeConfigParser() + + cfg_files = cp.read(fc) + + if not cp.has_section(section): + cp.add_section(section) + + if value == True: + cp.set(section, key, 'true') + elif value == False: + cp.set(section, key, 'false') + else: + cp.set(section, key, value) + + if len(cfg_files) < 1: + cfg_files = fc + + fh=open(cfg_files[0],'w') + cp.write(fh) + fh.close() + + return True + +def scene_filename(): + ''' + Construct a safe scene filename + ''' + filename = os.path.splitext(os.path.basename(bpy.data.filepath))[0] + if filename == '': + filename = 'untitled' + return bpy.path.clean_name(filename) + +def temp_directory(): + ''' + Return the system temp directory + ''' + return tempfile.gettempdir() + +def temp_file(ext='tmp'): + ''' + Get a temporary filename with the given extension + ''' + tf, fn = tempfile.mkstemp(suffix='.%s'%ext) + os.close(tf) + return fn + +class TimerThread(threading.Thread): + ''' + Periodically call self.kick() + ''' + STARTUP_DELAY = 0 + KICK_PERIOD = 8 + + active = True + timer = None + + LocalStorage = None + + def __init__(self, LocalStorage=dict()): + threading.Thread.__init__(self) + self.LocalStorage = LocalStorage + + def set_kick_period(self, period): + self.KICK_PERIOD = period + self.STARTUP_DELAY + + def stop(self): + self.active = False + if self.timer is not None: + self.timer.cancel() + + def run(self): + ''' + Timed Thread loop + ''' + + while self.active: + self.timer = threading.Timer(self.KICK_PERIOD, self.kick_caller) + self.timer.start() + if self.timer.isAlive(): self.timer.join() + + def kick_caller(self): + if self.STARTUP_DELAY > 0: + self.KICK_PERIOD -= self.STARTUP_DELAY + self.STARTUP_DELAY = 0 + + self.kick() + + def kick(self): + ''' + sub-classes do their work here + ''' + pass + +def format_elapsed_time(t): + ''' + Format a duration in seconds as an HH:MM:SS format time + ''' + + td = datetime.timedelta(seconds=t) + min = td.days*1440 + td.seconds/60.0 + hrs = td.days*24 + td.seconds/3600.0 + + return '%i:%02i:%02i' % (hrs, min%60, td.seconds%60) diff --git a/release/scripts/modules/extensions_framework/validate.py b/release/scripts/modules/extensions_framework/validate.py new file mode 100644 index 00000000000..b2960fcf01f --- /dev/null +++ b/release/scripts/modules/extensions_framework/validate.py @@ -0,0 +1,208 @@ +# -*- coding: utf8 -*- +# +# ***** BEGIN GPL LICENSE BLOCK ***** +# +# -------------------------------------------------------------------------- +# Blender 2.5 Extensions Framework +# -------------------------------------------------------------------------- +# +# Authors: +# Doug Hammond +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, see . +# +# ***** END GPL LICENCE BLOCK ***** +# +''' +Pure logic and validation class. + +By using a Subject object, and a dict of described logic tests, it +is possible to arrive at a True or False result for various purposes: +1. Data validation +2. UI control visibility + +A Subject can be any object whose members are readable with getattr() : +class Subject(object): + a = 0 + b = 1 + c = 'foo' + d = True + e = False + f = 8 + g = 'bar' + + +Tests are described thus: + +Use the special list types Logic_AND and Logic_OR to describe combinations +of values and other members. Use Logic_Operator for numerical comparison. + +# With regards to Subject, each of these evaluate to True: +TESTA = { + 'a': 0, + 'c': Logic_OR([ 'foo', 'bar' ]), + 'd': Logic_AND([True, True]), + 'f': Logic_AND([8, {'b': 1}]), + 'e': {'b': Logic_Operator({'gte':1, 'lt':3}) }, + 'g': Logic_OR([ 'baz', Logic_AND([{'b': 1}, {'f': 8}]) ]) +} + +# With regards to Subject, each of these evaluate to False: +TESTB = { + 'a': 'foo', + 'c': Logic_OR([ 'bar', 'baz' ]), + 'd': Logic_AND([ True, 'foo' ]), + 'f': Logic_AND([9, {'b': 1}]), + 'e': {'b': Logic_Operator({'gte':-10, 'lt': 1}) }, + 'g': Logic_OR([ 'baz', Logic_AND([{'b':0}, {'f': 8}]) ]) +} + +# With regards to Subject, this test is invalid +TESTC = { + 'n': 0 +} + +# Tests are executed thus: +S = Subject() +L = Logician(S) +L.execute(TESTA) + +''' + +class Logic_AND(list): + pass +class Logic_OR(list): + pass +class Logic_Operator(dict): + pass + +class Logician(object): + ''' + Given a subject and a dict that describes tests to perform on its members, + this class will evaluate True or False results for each member/test pair. + + See the examples below for test syntax. + ''' + + subject = None + def __init__(self, subject): + self.subject = subject + + def get_member(self, member_name): + ''' + Get a member value from the subject object. + Raise exception is subject is None or member not found. + ''' + if self.subject is None: + raise Exception('Cannot run tests on a subject which is None') + + return getattr(self.subject, member_name) + + def test_logic(self, member, logic, operator='eq'): + ''' + Find the type of test to run on member, and perform that test + ''' + + if type(logic) is dict: + return self.test_dict(member, logic) + elif type(logic) is Logic_AND: + return self.test_and(member, logic) + elif type(logic) is Logic_OR: + return self.test_or(member, logic) + elif type(logic) is Logic_Operator: + return self.test_operator(member, logic) + else: + # compare the value, I think using Logic_Operator() here allows completeness in test_operator(), + # but I can't put my finger on why for the minute + return self.test_operator(member, Logic_Operator({operator: logic})) + + def test_operator(self, member, value): + ''' + execute the operators contained within value and expect that ALL operators are True + ''' + + # something in this method is incomplete, what if operand is a dict, Logic_AND, Logic_OR or another Logic_Operator ? + # do those constructs even make any sense ? + + result = True + for operator, operand in value.items(): + operator = operator.lower().strip() + if operator in ['eq', '==']: + result &= member==operand + if operator in ['not', '!=']: + result &= member!=operand + if operator in ['lt', '<']: + result &= member']: + result &= member>operand + if operator in ['gte', '>=']: + result &= member>=operand + if operator in ['and', '&']: + result &= member&operand + if operator in ['or', '|']: + result &= member|operand + if operator in ['len']: + result &= len(member)==operand + # I can think of some more, but they're probably not useful. + + return result + + def test_or(self, member, logic): + ''' + member is a value, logic is a set of values, ANY of which can be True + ''' + result = False + for test in logic: + result |= self.test_logic(member, test) + + return result + + def test_and(self, member, logic): + ''' + member is a value, logic is a list of values, ALL of which must be True + ''' + result = True + for test in logic: + result &= self.test_logic(member, test) + + return result + + def test_dict(self, member, logic): + ''' + member is a value, logic is a dict of other members to compare to. All other member tests must be True + ''' + result = True + for other_member, test in logic.items(): + result &= self.test_logic(self.get_member(other_member), test) + + return result + + def execute(self, test): + ''' + subject is an object, + test is a dict of {member: test} pairs to perform on subject's members. + each key in test is a member of subject. + ''' + + for member_name, logic in test.items(): + result = self.test_logic(self.get_member(member_name), logic) + print('member %s is %s' % (member_name, result)) + +# A couple of name aliases +class Validation(Logician): + pass +class Visibility(Logician): + pass -- cgit v1.2.3 From 3161622f4cd88a5fc182ee7a81949f6061d89186 Mon Sep 17 00:00:00 2001 From: Janne Karhu Date: Fri, 22 Oct 2010 22:31:40 +0000 Subject: Fix for [#24361] Only first frame is working with glow in Render Animation using Video Editing - Effect - Glow --- source/blender/render/intern/source/pipeline.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/source/blender/render/intern/source/pipeline.c b/source/blender/render/intern/source/pipeline.c index 1feb43c04dd..ca9aef24803 100644 --- a/source/blender/render/intern/source/pipeline.c +++ b/source/blender/render/intern/source/pipeline.c @@ -2530,6 +2530,9 @@ static void do_render_seq(Render * re) } BLI_rw_mutex_unlock(&re->resultmutex); + + /* just in case this flag went missing at some point */ + re->r.scemode |= R_DOSEQ; } /* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ -- cgit v1.2.3 From 54b3508444d8ae62f8af9d5b9a9ace6c44f95903 Mon Sep 17 00:00:00 2001 From: Nathan Letwory Date: Fri, 22 Oct 2010 22:58:12 +0000 Subject: =?UTF-8?q?Fix=20[#24337]=20Create=20vertex=20(and=20faces=20and?= =?UTF-8?q?=20edges)=20with=20"Control+LMB"=20doesn't=20works!=20Reported?= =?UTF-8?q?=20by=20Lluc=20Roman=C3=AD=20Bras=C3=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Some of my earlier changes to the modifier handling code accidently sent out new events for modifier keys when they where held down (repeat). Also lay foundation for shift+numpad handling. --- intern/ghost/intern/GHOST_SystemWin32.cpp | 70 ++++++++++++++++++++++++++++--- intern/ghost/intern/GHOST_SystemWin32.h | 9 ++++ 2 files changed, 73 insertions(+), 6 deletions(-) diff --git a/intern/ghost/intern/GHOST_SystemWin32.cpp b/intern/ghost/intern/GHOST_SystemWin32.cpp index da333ce4f08..fb419aef526 100644 --- a/intern/ghost/intern/GHOST_SystemWin32.cpp +++ b/intern/ghost/intern/GHOST_SystemWin32.cpp @@ -146,7 +146,6 @@ GHOST_SystemWin32::GHOST_SystemWin32() // Check if current keyboard layout uses AltGr this->keyboardAltGr(); - // Require COM for GHOST_DropTargetWin32 created in GHOST_WindowWin32. OleInitialize(0); } @@ -334,6 +333,11 @@ GHOST_TSuccess GHOST_SystemWin32::getButtons(GHOST_Buttons& buttons) const GHOST_TSuccess GHOST_SystemWin32::init() { GHOST_TSuccess success = GHOST_System::init(); + + for(int i = 0; i < 255; i++) { + m_prevKeyStatus[i] = false; + m_curKeyStatus[i] = false; + } /* Disable scaling on high DPI displays on Vista */ HMODULE user32 = ::LoadLibraryA("user32.dll"); @@ -375,25 +379,34 @@ GHOST_TSuccess GHOST_SystemWin32::init() if (::RegisterClass(&wc) == 0) { success = GHOST_kFailure; } + + // Add low-level keyboard hook for our process. + m_llKeyboardHook = SetWindowsHookEx(WH_KEYBOARD_LL, s_llKeyboardProc, wc.hInstance, 0); } + return success; } GHOST_TSuccess GHOST_SystemWin32::exit() { + // remove our low-level keyboard hook. + UnhookWindowsHookEx(m_llKeyboardHook); + return GHOST_System::exit(); } GHOST_TKey GHOST_SystemWin32::convertKey(GHOST_IWindow *window, WPARAM wParam, LPARAM lParam) const { + GHOST_SystemWin32 *system = (GHOST_SystemWin32 *)getSystem(); bool isExtended = (lParam&(1<<24))?true:false; GHOST_TKey key; GHOST_ModifierKeys oldModifiers, newModifiers; - ((GHOST_SystemWin32*)getSystem())->retrieveModifierKeys(oldModifiers); - ((GHOST_SystemWin32*)getSystem())->getModifierKeys(newModifiers); + system->retrieveModifierKeys(oldModifiers); + system->getModifierKeys(newModifiers); + if ((wParam >= '0') && (wParam <= '9')) { // VK_0 thru VK_9 are the same as ASCII '0' thru '9' (0x30 - 0x39) @@ -463,7 +476,12 @@ GHOST_TKey GHOST_SystemWin32::convertKey(GHOST_IWindow *window, WPARAM wParam, L if(lchanged) { key = GHOST_kKeyLeftShift; } else { - key = GHOST_kKeyRightShift; + bool rchanged = oldModifiers.get(GHOST_kModifierKeyRightShift) != newModifiers.get(GHOST_kModifierKeyRightShift); + if(rchanged) { + key = GHOST_kKeyRightShift; + } else { + key = GHOST_kKeyUnknown; + } } } break; @@ -473,7 +491,12 @@ GHOST_TKey GHOST_SystemWin32::convertKey(GHOST_IWindow *window, WPARAM wParam, L if(lchanged) { key = GHOST_kKeyLeftControl; } else { - key = GHOST_kKeyRightControl; + bool rchanged = oldModifiers.get(GHOST_kModifierKeyRightControl) != newModifiers.get(GHOST_kModifierKeyRightControl); + if(rchanged) { + key = GHOST_kKeyRightControl; + } else { + key = GHOST_kKeyUnknown; + } } } break; @@ -493,7 +516,12 @@ GHOST_TKey GHOST_SystemWin32::convertKey(GHOST_IWindow *window, WPARAM wParam, L if(lchanged) { key = GHOST_kKeyLeftAlt; } else { - key = GHOST_kKeyRightAlt; + bool rchanged = oldModifiers.get(GHOST_kModifierKeyRightAlt) != newModifiers.get(GHOST_kModifierKeyRightAlt); + if(rchanged) { + key = GHOST_kKeyRightAlt; + } else { + key = GHOST_kKeyUnknown; + } } } break; @@ -635,6 +663,36 @@ void GHOST_SystemWin32::processMinMaxInfo(MINMAXINFO * minmax) minmax->ptMinTrackSize.y=240; } +/* Note that this function gets *all* key events from the entire system (all + * threads running in this desktop session. So when getting event here, don't assume + * it's for Blender. Thus we only do status bookkeeping, so we can check + * in s_wndProc and processKeyEvent what the real keyboard status is. + * This is needed for proper handling of shift+numpad keys for instance. + */ +LRESULT CALLBACK GHOST_SystemWin32::s_llKeyboardProc(int nCode, WPARAM wParam, LPARAM lParam) +{ + GHOST_SystemWin32* system = ((GHOST_SystemWin32*)getSystem()); + KBDLLHOOKSTRUCT &keyb = *(PKBDLLHOOKSTRUCT)(lParam); + system->m_prevKeyStatus[keyb.vkCode] = system->m_curKeyStatus[keyb.vkCode]; + if(keyb.flags) { + if((keyb.flags & LLKHF_EXTENDED) == LLKHF_EXTENDED) { + } + if((keyb.flags & LLKHF_ALTDOWN) == LLKHF_ALTDOWN) { + } + if((keyb.flags & LLKHF_UP) == LLKHF_UP) { + system->m_curKeyStatus[keyb.vkCode] = false; + } else { + system->m_curKeyStatus[keyb.vkCode] = true; + } + if((keyb.flags & LLKHF_INJECTED)== LLKHF_INJECTED) { + } + } + else { + system->m_curKeyStatus[keyb.vkCode] = true; + } + + return CallNextHookEx(system->m_llKeyboardHook, nCode, wParam, lParam); +} LRESULT WINAPI GHOST_SystemWin32::s_wndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) { diff --git a/intern/ghost/intern/GHOST_SystemWin32.h b/intern/ghost/intern/GHOST_SystemWin32.h index 3cd1deefda0..ab2f34cc27a 100644 --- a/intern/ghost/intern/GHOST_SystemWin32.h +++ b/intern/ghost/intern/GHOST_SystemWin32.h @@ -320,6 +320,11 @@ protected: * Windows call back routine for our window class. */ static LRESULT WINAPI s_wndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam); + + /** + * Low-level inspection of keyboard events + */ + static LRESULT CALLBACK s_llKeyboardProc(int nCode, WPARAM wParam, LPARAM lParam); /** The current state of the modifier keys. */ GHOST_ModifierKeys m_modifierKeys; @@ -331,6 +336,10 @@ protected: __int64 m_start; /** AltGr on current keyboard layout. */ bool m_hasAltGr; + /** holding hook handle for low-level keyboard handling */ + HHOOK m_llKeyboardHook; + bool m_prevKeyStatus[255]; /* VK_* codes 0x01-0xFF, with 0xFF reserved */ + bool m_curKeyStatus[255]; /* VK_* codes 0x01-0xFF, with 0xFF reserved */ }; inline void GHOST_SystemWin32::retrieveModifierKeys(GHOST_ModifierKeys& keys) const -- cgit v1.2.3 From c6976e7351e448b8ab82757b9e1a665162b0960c Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Sat, 23 Oct 2010 04:05:55 +0000 Subject: use explicit file paths for CMake rather then globing, This is recommended by cmake devs. globbing vs explicit is discussed here. http://www.cmake.org/pipermail/cmake/2008-December/025694.html Practical implications are: - developers need to keep CMakeLists.txt files up to date. - Users wont get strange linking errors if they build after a file is added, since CMake detects CMakeLists.txt is modified and automatically reconfigure. --- extern/bullet2/CMakeLists.txt | 131 +++++++++++++++++-- extern/libopenjpeg/CMakeLists.txt | 26 +++- extern/lzma/CMakeLists.txt | 12 +- extern/lzo/CMakeLists.txt | 9 +- intern/audaspace/CMakeLists.txt | 140 ++++++++++++++++++--- intern/boolop/CMakeLists.txt | 19 ++- intern/bsp/CMakeLists.txt | 6 +- intern/container/CMakeLists.txt | 8 +- intern/decimation/CMakeLists.txt | 11 +- intern/elbeem/CMakeLists.txt | 32 ++++- intern/iksolver/CMakeLists.txt | 9 +- intern/itasc/CMakeLists.txt | 42 ++++++- intern/memutil/CMakeLists.txt | 5 +- intern/moto/CMakeLists.txt | 19 ++- intern/opennl/CMakeLists.txt | 40 +++++- intern/smoke/CMakeLists.txt | 11 +- intern/string/CMakeLists.txt | 9 +- source/blender/avi/CMakeLists.txt | 12 +- source/blender/blenfont/CMakeLists.txt | 11 +- source/blender/blenkernel/CMakeLists.txt | 89 ++++++++++++- source/blender/blenlib/CMakeLists.txt | 51 +++++++- source/blender/blenloader/CMakeLists.txt | 9 +- source/blender/blenpluginapi/CMakeLists.txt | 6 +- source/blender/collada/CMakeLists.txt | 72 ++++++----- source/blender/editors/animation/CMakeLists.txt | 20 ++- source/blender/editors/armature/CMakeLists.txt | 16 ++- source/blender/editors/curve/CMakeLists.txt | 9 +- source/blender/editors/datafiles/CMakeLists.txt | 41 +++++- source/blender/editors/gpencil/CMakeLists.txt | 11 +- source/blender/editors/interface/CMakeLists.txt | 21 +++- source/blender/editors/mesh/CMakeLists.txt | 16 ++- source/blender/editors/metaball/CMakeLists.txt | 7 +- source/blender/editors/object/CMakeLists.txt | 25 +++- source/blender/editors/physics/CMakeLists.txt | 19 ++- source/blender/editors/render/CMakeLists.txt | 10 +- source/blender/editors/screen/CMakeLists.txt | 11 +- source/blender/editors/sculpt_paint/CMakeLists.txt | 13 +- source/blender/editors/sound/CMakeLists.txt | 6 +- source/blender/editors/space_action/CMakeLists.txt | 10 +- source/blender/editors/space_api/CMakeLists.txt | 7 +- .../blender/editors/space_buttons/CMakeLists.txt | 9 +- .../blender/editors/space_console/CMakeLists.txt | 9 +- source/blender/editors/space_file/CMakeLists.txt | 13 +- source/blender/editors/space_graph/CMakeLists.txt | 12 +- source/blender/editors/space_image/CMakeLists.txt | 11 +- source/blender/editors/space_info/CMakeLists.txt | 8 +- source/blender/editors/space_logic/CMakeLists.txt | 9 +- source/blender/editors/space_nla/CMakeLists.txt | 12 +- source/blender/editors/space_node/CMakeLists.txt | 14 ++- .../blender/editors/space_outliner/CMakeLists.txt | 8 +- source/blender/editors/space_script/CMakeLists.txt | 9 +- .../blender/editors/space_sequencer/CMakeLists.txt | 13 +- source/blender/editors/space_sound/CMakeLists.txt | 7 +- source/blender/editors/space_text/CMakeLists.txt | 10 +- source/blender/editors/space_time/CMakeLists.txt | 7 +- .../blender/editors/space_userpref/CMakeLists.txt | 7 +- source/blender/editors/space_view3d/CMakeLists.txt | 20 ++- source/blender/editors/transform/CMakeLists.txt | 15 ++- source/blender/editors/util/CMakeLists.txt | 9 +- source/blender/editors/uvedit/CMakeLists.txt | 9 +- source/blender/gpu/CMakeLists.txt | 12 +- source/blender/ikplugin/CMakeLists.txt | 11 +- source/blender/imbuf/CMakeLists.txt | 32 ++++- source/blender/imbuf/intern/cineon/CMakeLists.txt | 13 +- source/blender/imbuf/intern/dds/CMakeLists.txt | 11 +- source/blender/imbuf/intern/openexr/CMakeLists.txt | 6 +- source/blender/modifiers/CMakeLists.txt | 43 ++++++- source/blender/nodes/CMakeLists.txt | 105 +++++++++++++++- source/blender/python/CMakeLists.txt | 17 ++- source/blender/python/generic/CMakeLists.txt | 18 ++- source/blender/readblenfile/CMakeLists.txt | 14 ++- source/blender/render/CMakeLists.txt | 38 +++++- source/blender/windowmanager/CMakeLists.txt | 19 ++- .../bad_level_call_stubs/CMakeLists.txt | 18 +-- source/gameengine/BlenderRoutines/CMakeLists.txt | 13 +- source/gameengine/Converter/CMakeLists.txt | 26 +++- source/gameengine/Expressions/CMakeLists.txt | 24 +++- source/gameengine/GameLogic/CMakeLists.txt | 47 ++++++- source/gameengine/GamePlayer/common/CMakeLists.txt | 26 ++-- source/gameengine/GamePlayer/ghost/CMakeLists.txt | 16 +-- source/gameengine/Ketsji/CMakeLists.txt | 72 ++++++++++- source/gameengine/Ketsji/KXNetwork/CMakeLists.txt | 10 +- source/gameengine/Network/CMakeLists.txt | 8 +- .../Network/LoopBackNetwork/CMakeLists.txt | 6 +- source/gameengine/Physics/Bullet/CMakeLists.txt | 8 +- source/gameengine/Physics/Dummy/CMakeLists.txt | 6 +- source/gameengine/Physics/common/CMakeLists.txt | 11 +- source/gameengine/Rasterizer/CMakeLists.txt | 15 ++- .../Rasterizer/RAS_OpenGLRasterizer/CMakeLists.txt | 9 +- source/gameengine/SceneGraph/CMakeLists.txt | 11 +- source/gameengine/VideoTexture/CMakeLists.txt | 21 +++- source/kernel/CMakeLists.txt | 2 +- 92 files changed, 1649 insertions(+), 271 deletions(-) diff --git a/extern/bullet2/CMakeLists.txt b/extern/bullet2/CMakeLists.txt index 3054ed98908..91d1cba425f 100644 --- a/extern/bullet2/CMakeLists.txt +++ b/extern/bullet2/CMakeLists.txt @@ -24,20 +24,125 @@ # # ***** END GPL LICENSE BLOCK ***** -SET(INC . src) +SET(INC + . + src +) -FILE(GLOB SRC - src/LinearMath/*.cpp - src/BulletCollision/BroadphaseCollision/*.cpp - src/BulletCollision/CollisionShapes/*.cpp - src/BulletCollision/NarrowPhaseCollision/*.cpp - src/BulletCollision/Gimpact/*.cpp - src/BulletCollision/CollisionDispatch/*.cpp - src/BulletDynamics/ConstraintSolver/*.cpp - src/BulletDynamics/Vehicle/*.cpp - src/BulletDynamics/Dynamics/*.cpp - src/BulletSoftBody/*.cpp +SET(SRC + src/BulletCollision/BroadphaseCollision/btAxisSweep3.cpp + src/BulletCollision/BroadphaseCollision/btBroadphaseProxy.cpp + src/BulletCollision/BroadphaseCollision/btCollisionAlgorithm.cpp + src/BulletCollision/BroadphaseCollision/btDbvt.cpp + src/BulletCollision/BroadphaseCollision/btDbvtBroadphase.cpp + src/BulletCollision/BroadphaseCollision/btDispatcher.cpp + src/BulletCollision/BroadphaseCollision/btMultiSapBroadphase.cpp + src/BulletCollision/BroadphaseCollision/btOverlappingPairCache.cpp + src/BulletCollision/BroadphaseCollision/btQuantizedBvh.cpp + src/BulletCollision/BroadphaseCollision/btSimpleBroadphase.cpp + src/BulletCollision/CollisionDispatch/SphereTriangleDetector.cpp + src/BulletCollision/CollisionDispatch/btActivatingCollisionAlgorithm.cpp + src/BulletCollision/CollisionDispatch/btBoxBoxCollisionAlgorithm.cpp + src/BulletCollision/CollisionDispatch/btBoxBoxDetector.cpp + src/BulletCollision/CollisionDispatch/btCollisionDispatcher.cpp + src/BulletCollision/CollisionDispatch/btCollisionObject.cpp + src/BulletCollision/CollisionDispatch/btCollisionWorld.cpp + src/BulletCollision/CollisionDispatch/btCompoundCollisionAlgorithm.cpp + src/BulletCollision/CollisionDispatch/btConvexConcaveCollisionAlgorithm.cpp + src/BulletCollision/CollisionDispatch/btConvexConvexAlgorithm.cpp + src/BulletCollision/CollisionDispatch/btConvexPlaneCollisionAlgorithm.cpp + src/BulletCollision/CollisionDispatch/btDefaultCollisionConfiguration.cpp + src/BulletCollision/CollisionDispatch/btEmptyCollisionAlgorithm.cpp + src/BulletCollision/CollisionDispatch/btGhostObject.cpp + src/BulletCollision/CollisionDispatch/btManifoldResult.cpp + src/BulletCollision/CollisionDispatch/btSimulationIslandManager.cpp + src/BulletCollision/CollisionDispatch/btSphereBoxCollisionAlgorithm.cpp + src/BulletCollision/CollisionDispatch/btSphereSphereCollisionAlgorithm.cpp + src/BulletCollision/CollisionDispatch/btSphereTriangleCollisionAlgorithm.cpp + src/BulletCollision/CollisionDispatch/btUnionFind.cpp + src/BulletCollision/CollisionShapes/btBoxShape.cpp + src/BulletCollision/CollisionShapes/btBvhTriangleMeshShape.cpp + src/BulletCollision/CollisionShapes/btCapsuleShape.cpp + src/BulletCollision/CollisionShapes/btCollisionShape.cpp + src/BulletCollision/CollisionShapes/btCompoundShape.cpp + src/BulletCollision/CollisionShapes/btConcaveShape.cpp + src/BulletCollision/CollisionShapes/btConeShape.cpp + src/BulletCollision/CollisionShapes/btConvexHullShape.cpp + src/BulletCollision/CollisionShapes/btConvexInternalShape.cpp + src/BulletCollision/CollisionShapes/btConvexPointCloudShape.cpp + src/BulletCollision/CollisionShapes/btConvexShape.cpp + src/BulletCollision/CollisionShapes/btConvexTriangleMeshShape.cpp + src/BulletCollision/CollisionShapes/btCylinderShape.cpp + src/BulletCollision/CollisionShapes/btEmptyShape.cpp + src/BulletCollision/CollisionShapes/btHeightfieldTerrainShape.cpp + src/BulletCollision/CollisionShapes/btMinkowskiSumShape.cpp + src/BulletCollision/CollisionShapes/btMultiSphereShape.cpp + src/BulletCollision/CollisionShapes/btMultimaterialTriangleMeshShape.cpp + src/BulletCollision/CollisionShapes/btOptimizedBvh.cpp + src/BulletCollision/CollisionShapes/btPolyhedralConvexShape.cpp + src/BulletCollision/CollisionShapes/btScaledBvhTriangleMeshShape.cpp + src/BulletCollision/CollisionShapes/btShapeHull.cpp + src/BulletCollision/CollisionShapes/btSphereShape.cpp + src/BulletCollision/CollisionShapes/btStaticPlaneShape.cpp + src/BulletCollision/CollisionShapes/btStridingMeshInterface.cpp + src/BulletCollision/CollisionShapes/btTetrahedronShape.cpp + src/BulletCollision/CollisionShapes/btTriangleBuffer.cpp + src/BulletCollision/CollisionShapes/btTriangleCallback.cpp + src/BulletCollision/CollisionShapes/btTriangleIndexVertexArray.cpp + src/BulletCollision/CollisionShapes/btTriangleIndexVertexMaterialArray.cpp + src/BulletCollision/CollisionShapes/btTriangleMesh.cpp + src/BulletCollision/CollisionShapes/btTriangleMeshShape.cpp + src/BulletCollision/CollisionShapes/btUniformScalingShape.cpp + src/BulletCollision/Gimpact/btContactProcessing.cpp + src/BulletCollision/Gimpact/btGImpactBvh.cpp + src/BulletCollision/Gimpact/btGImpactCollisionAlgorithm.cpp + src/BulletCollision/Gimpact/btGImpactQuantizedBvh.cpp + src/BulletCollision/Gimpact/btGImpactShape.cpp + src/BulletCollision/Gimpact/btGenericPoolAllocator.cpp + src/BulletCollision/Gimpact/btTriangleShapeEx.cpp + src/BulletCollision/Gimpact/gim_box_set.cpp + src/BulletCollision/Gimpact/gim_contact.cpp + src/BulletCollision/Gimpact/gim_memory.cpp + src/BulletCollision/Gimpact/gim_tri_collision.cpp + src/BulletCollision/NarrowPhaseCollision/btContinuousConvexCollision.cpp + src/BulletCollision/NarrowPhaseCollision/btConvexCast.cpp + src/BulletCollision/NarrowPhaseCollision/btGjkConvexCast.cpp + src/BulletCollision/NarrowPhaseCollision/btGjkEpa.cpp + src/BulletCollision/NarrowPhaseCollision/btGjkEpa2.cpp + src/BulletCollision/NarrowPhaseCollision/btGjkEpaPenetrationDepthSolver.cpp + src/BulletCollision/NarrowPhaseCollision/btGjkPairDetector.cpp + src/BulletCollision/NarrowPhaseCollision/btMinkowskiPenetrationDepthSolver.cpp + src/BulletCollision/NarrowPhaseCollision/btPersistentManifold.cpp + src/BulletCollision/NarrowPhaseCollision/btRaycastCallback.cpp + src/BulletCollision/NarrowPhaseCollision/btSubSimplexConvexCast.cpp + src/BulletCollision/NarrowPhaseCollision/btVoronoiSimplexSolver.cpp + src/BulletDynamics/ConstraintSolver/btConeTwistConstraint.cpp + src/BulletDynamics/ConstraintSolver/btContactConstraint.cpp + src/BulletDynamics/ConstraintSolver/btGeneric6DofConstraint.cpp + src/BulletDynamics/ConstraintSolver/btHingeConstraint.cpp + src/BulletDynamics/ConstraintSolver/btPoint2PointConstraint.cpp + src/BulletDynamics/ConstraintSolver/btSequentialImpulseConstraintSolver.cpp + src/BulletDynamics/ConstraintSolver/btSliderConstraint.cpp + src/BulletDynamics/ConstraintSolver/btSolve2LinearConstraint.cpp + src/BulletDynamics/ConstraintSolver/btTypedConstraint.cpp + src/BulletDynamics/Dynamics/Bullet-C-API.cpp + src/BulletDynamics/Dynamics/btContinuousDynamicsWorld.cpp + src/BulletDynamics/Dynamics/btDiscreteDynamicsWorld.cpp + src/BulletDynamics/Dynamics/btRigidBody.cpp + src/BulletDynamics/Dynamics/btSimpleDynamicsWorld.cpp + src/BulletDynamics/Vehicle/btRaycastVehicle.cpp + src/BulletDynamics/Vehicle/btWheelInfo.cpp + src/BulletSoftBody/btSoftBody.cpp + src/BulletSoftBody/btSoftBodyConcaveCollisionAlgorithm.cpp + src/BulletSoftBody/btSoftBodyHelpers.cpp + src/BulletSoftBody/btSoftBodyRigidBodyCollisionConfiguration.cpp + src/BulletSoftBody/btSoftRigidCollisionAlgorithm.cpp + src/BulletSoftBody/btSoftRigidDynamicsWorld.cpp + src/BulletSoftBody/btSoftSoftCollisionAlgorithm.cpp + src/LinearMath/btAlignedAllocator.cpp + src/LinearMath/btConvexHull.cpp + src/LinearMath/btGeometryUtil.cpp + src/LinearMath/btQuickprof.cpp ) BLENDERLIB(extern_bullet "${SRC}" "${INC}") - diff --git a/extern/libopenjpeg/CMakeLists.txt b/extern/libopenjpeg/CMakeLists.txt index 8cdd804dfba..ff55c598504 100644 --- a/extern/libopenjpeg/CMakeLists.txt +++ b/extern/libopenjpeg/CMakeLists.txt @@ -24,7 +24,29 @@ # # ***** END GPL LICENSE BLOCK ***** -SET(INC .) +SET(INC + . +) + +SET(SRC + bio.c + cio.c + dwt.c + event.c + image.c + j2k.c + j2k_lib.c + jp2.c + jpt.c + mct.c + mqc.c + openjpeg.c + pi.c + raw.c + t1.c + t2.c + tcd.c + tgt.c +) -FILE(GLOB SRC *.c) BLENDERLIB(extern_openjpeg "${SRC}" "${INC}") diff --git a/extern/lzma/CMakeLists.txt b/extern/lzma/CMakeLists.txt index 15aa5264e37..773d3880f93 100644 --- a/extern/lzma/CMakeLists.txt +++ b/extern/lzma/CMakeLists.txt @@ -24,8 +24,16 @@ # # ***** END GPL LICENSE BLOCK ***** -SET(INC . ) +SET(INC + . +) -FILE(GLOB SRC ./*.c) +SET(SRC + Alloc.c + LzFind.c + LzmaDec.c + LzmaEnc.c + LzmaLib.c +) BLENDERLIB(extern_lzma "${SRC}" "${INC}") diff --git a/extern/lzo/CMakeLists.txt b/extern/lzo/CMakeLists.txt index 1563300d509..6cfbd86a2fc 100644 --- a/extern/lzo/CMakeLists.txt +++ b/extern/lzo/CMakeLists.txt @@ -24,7 +24,12 @@ # # ***** END GPL LICENSE BLOCK ***** -SET(INC include) -SET(SRC minilzo/minilzo.c) +SET(INC + include +) + +SET(SRC + minilzo/minilzo.c +) BLENDERLIB(extern_minilzo "${SRC}" "${INC}") diff --git a/intern/audaspace/CMakeLists.txt b/intern/audaspace/CMakeLists.txt index 6982bd83276..2dd4694d8a9 100644 --- a/intern/audaspace/CMakeLists.txt +++ b/intern/audaspace/CMakeLists.txt @@ -28,52 +28,156 @@ SET(INC ${LIBSAMPLERATE_INC} ) -FILE(GLOB SRC - intern/*.cpp - intern/*.h - FX/*.cpp - SRC/*.cpp +SET(SRC + FX/AUD_AccumulatorFactory.cpp + FX/AUD_BaseIIRFilterReader.cpp + FX/AUD_ButterworthFactory.cpp + FX/AUD_CallbackIIRFilterReader.cpp + FX/AUD_DelayFactory.cpp + FX/AUD_DelayReader.cpp + FX/AUD_DoubleFactory.cpp + FX/AUD_DoubleReader.cpp + FX/AUD_EffectFactory.cpp + FX/AUD_EffectReader.cpp + FX/AUD_EnvelopeFactory.cpp + FX/AUD_FaderFactory.cpp + FX/AUD_FaderReader.cpp + FX/AUD_HighpassFactory.cpp + FX/AUD_IIRFilterFactory.cpp + FX/AUD_IIRFilterReader.cpp + FX/AUD_LimiterFactory.cpp + FX/AUD_LimiterReader.cpp + FX/AUD_LoopFactory.cpp + FX/AUD_LoopReader.cpp + FX/AUD_LowpassFactory.cpp + FX/AUD_PingPongFactory.cpp + FX/AUD_PitchFactory.cpp + FX/AUD_PitchReader.cpp + FX/AUD_RectifyFactory.cpp + FX/AUD_ReverseFactory.cpp + FX/AUD_ReverseReader.cpp + FX/AUD_SquareFactory.cpp + FX/AUD_SumFactory.cpp + FX/AUD_SuperposeFactory.cpp + FX/AUD_SuperposeReader.cpp + FX/AUD_VolumeFactory.cpp + SRC/AUD_SRCResampleFactory.cpp + SRC/AUD_SRCResampleReader.cpp + intern/AUD_3DMath.h + intern/AUD_Buffer.cpp + intern/AUD_Buffer.h + intern/AUD_BufferReader.cpp + intern/AUD_BufferReader.h + intern/AUD_C-API.cpp + intern/AUD_C-API.h + intern/AUD_ChannelMapperFactory.cpp + intern/AUD_ChannelMapperFactory.h + intern/AUD_ChannelMapperReader.cpp + intern/AUD_ChannelMapperReader.h + intern/AUD_ConverterFactory.cpp + intern/AUD_ConverterFactory.h + intern/AUD_ConverterFunctions.cpp + intern/AUD_ConverterFunctions.h + intern/AUD_ConverterReader.cpp + intern/AUD_ConverterReader.h + intern/AUD_DefaultMixer.cpp + intern/AUD_DefaultMixer.h + intern/AUD_FileFactory.cpp + intern/AUD_FileFactory.h + intern/AUD_I3DDevice.h + intern/AUD_IDevice.h + intern/AUD_IFactory.h + intern/AUD_IReader.h + intern/AUD_LinearResampleFactory.cpp + intern/AUD_LinearResampleFactory.h + intern/AUD_LinearResampleReader.cpp + intern/AUD_LinearResampleReader.h + intern/AUD_Mixer.cpp + intern/AUD_Mixer.h + intern/AUD_MixerFactory.cpp + intern/AUD_MixerFactory.h + intern/AUD_NULLDevice.cpp + intern/AUD_NULLDevice.h + intern/AUD_PyInit.h + intern/AUD_ReadDevice.cpp + intern/AUD_ReadDevice.h + intern/AUD_Reference.h + intern/AUD_ResampleFactory.h + intern/AUD_SequencerFactory.cpp + intern/AUD_SequencerFactory.h + intern/AUD_SequencerReader.cpp + intern/AUD_SequencerReader.h + intern/AUD_SilenceFactory.cpp + intern/AUD_SilenceFactory.h + intern/AUD_SilenceReader.cpp + intern/AUD_SilenceReader.h + intern/AUD_SinusFactory.cpp + intern/AUD_SinusFactory.h + intern/AUD_SinusReader.cpp + intern/AUD_SinusReader.h + intern/AUD_SoftwareDevice.cpp + intern/AUD_SoftwareDevice.h + intern/AUD_Space.h + intern/AUD_StreamBufferFactory.cpp + intern/AUD_StreamBufferFactory.h ) IF(WITH_FFMPEG) - LIST(APPEND INC ffmpeg ${FFMPEG_INC}) - FILE(GLOB FFMPEGSRC ffmpeg/*.cpp) ADD_DEFINITIONS(-DWITH_FFMPEG) + LIST(APPEND INC ffmpeg ${FFMPEG_INC}) + SET(FFMPEGSRC + ffmpeg/AUD_FFMPEGFactory.cpp + ffmpeg/AUD_FFMPEGReader.cpp + ) ENDIF(WITH_FFMPEG) IF(WITH_SDL) - LIST(APPEND INC SDL ${SDL_INCLUDE_DIR}) - FILE(GLOB SDLSRC SDL/*.cpp) ADD_DEFINITIONS(-DWITH_SDL) + LIST(APPEND INC SDL ${SDL_INCLUDE_DIR}) + SET(SDLSRC + SDL/AUD_SDLDevice.cpp + ) ENDIF(WITH_SDL) IF(WITH_OPENAL) - LIST(APPEND INC OpenAL ${OPENAL_INCLUDE_DIR}) - FILE(GLOB OPENALSRC OpenAL/*.cpp) ADD_DEFINITIONS(-DWITH_OPENAL) + LIST(APPEND INC OpenAL ${OPENAL_INCLUDE_DIR}) + SET(OPENALSRC + OpenAL/AUD_OpenALDevice.cpp + ) ENDIF(WITH_OPENAL) IF(WITH_JACK) - LIST(APPEND INC jack ${JACK_INC}) - FILE(GLOB JACKSRC jack/*.cpp) ADD_DEFINITIONS(-DWITH_JACK) + LIST(APPEND INC jack ${JACK_INC}) + SET(JACKSRC + jack/AUD_JackDevice.cpp + ) ENDIF(WITH_JACK) IF(WITH_SNDFILE) - LIST(APPEND INC sndfile ${SNDFILE_INC}) - FILE(GLOB SNDFILESRC sndfile/*.cpp) ADD_DEFINITIONS(-DWITH_SNDFILE) + LIST(APPEND INC sndfile ${SNDFILE_INC}) + SET(SNDFILESRC + sndfile/AUD_SndFileFactory.cpp + sndfile/AUD_SndFileReader.cpp + ) ENDIF(WITH_SNDFILE) #IF(WITH_FFTW3) -# LIST(APPEND INC fftw ${FFTW3_INC}) -# FILE(GLOB FFTW3SRC fftw/*.cpp) # ADD_DEFINITIONS(-DWITH_FFTW3) +# LIST(APPEND INC fftw ${FFTW3_INC}) +# SET(FFTW3SRC +# fftw/AUD_BandPassFactory.cpp +# fftw/AUD_BandPassReader.cpp +# ) #ENDIF(WITH_FFTW3) IF(WITH_PYTHON) LIST(APPEND INC Python ${PYTHON_INC}) - FILE(GLOB PYTHONSRC Python/*.cpp) + SET(PYTHONSRC + Python/AUD_PyAPI.cpp + ) ELSE(WITH_PYTHON) ADD_DEFINITIONS(-DDISABLE_PYTHON) ENDIF(WITH_PYTHON) diff --git a/intern/boolop/CMakeLists.txt b/intern/boolop/CMakeLists.txt index 91500712a4c..4b261900521 100644 --- a/intern/boolop/CMakeLists.txt +++ b/intern/boolop/CMakeLists.txt @@ -36,6 +36,23 @@ SET(INC ../../source/blender/makesdna ) -FILE(GLOB SRC intern/*.cpp) +SET(SRC + intern/BOP_BBox.cpp + intern/BOP_BSPNode.cpp + intern/BOP_BSPTree.cpp + intern/BOP_Edge.cpp + intern/BOP_Face.cpp + intern/BOP_Face2Face.cpp + intern/BOP_Interface.cpp + intern/BOP_MathUtils.cpp + intern/BOP_Merge.cpp + intern/BOP_Merge2.cpp + intern/BOP_Mesh.cpp + intern/BOP_Segment.cpp + intern/BOP_Splitter.cpp + intern/BOP_Tag.cpp + intern/BOP_Triangulator.cpp + intern/BOP_Vertex.cpp +) BLENDERLIB(bf_intern_bop "${SRC}" "${INC}") diff --git a/intern/bsp/CMakeLists.txt b/intern/bsp/CMakeLists.txt index debbc86c240..358c02fec73 100644 --- a/intern/bsp/CMakeLists.txt +++ b/intern/bsp/CMakeLists.txt @@ -31,6 +31,10 @@ SET(INC ../memutil ) -FILE(GLOB SRC intern/*.cpp) +SET(SRC + intern/BSP_CSGMesh.cpp + intern/BSP_MeshPrimitives.cpp + intern/CSG_BooleanOps.cpp +) BLENDERLIB(bf_intern_bsp "${SRC}" "${INC}") diff --git a/intern/container/CMakeLists.txt b/intern/container/CMakeLists.txt index 9ae684ec542..393883cb148 100644 --- a/intern/container/CMakeLists.txt +++ b/intern/container/CMakeLists.txt @@ -24,8 +24,12 @@ # # ***** END GPL LICENSE BLOCK ***** -SET(INC .) +SET(INC + . +) -FILE(GLOB SRC intern/*.cpp) +SET(SRC + intern/CTR_List.cpp +) BLENDERLIB(bf_intern_ctr "${SRC}" "${INC}") diff --git a/intern/decimation/CMakeLists.txt b/intern/decimation/CMakeLists.txt index 77ab6249e7f..c284ed087fd 100644 --- a/intern/decimation/CMakeLists.txt +++ b/intern/decimation/CMakeLists.txt @@ -31,6 +31,15 @@ SET(INC ../moto/include ) -FILE(GLOB SRC intern/*.cpp) +SET(SRC + intern/LOD_EdgeCollapser.cpp + intern/LOD_ExternNormalEditor.cpp + intern/LOD_FaceNormalEditor.cpp + intern/LOD_ManMesh2.cpp + intern/LOD_MeshPrimitives.cpp + intern/LOD_QSDecimator.cpp + intern/LOD_QuadricEditor.cpp + intern/LOD_decimation.cpp +) BLENDERLIB(bf_intern_decimate "${SRC}" "${INC}") diff --git a/intern/elbeem/CMakeLists.txt b/intern/elbeem/CMakeLists.txt index 57fb6180adb..a4ee5927216 100644 --- a/intern/elbeem/CMakeLists.txt +++ b/intern/elbeem/CMakeLists.txt @@ -24,9 +24,37 @@ # # ***** END GPL LICENSE BLOCK ***** -SET(INC ${PNG_INC} ${ZLIB_INC} extern) +SET(INC + extern + ${PNG_INC} + ${ZLIB_INC} +) -FILE(GLOB SRC intern/*.cpp) +SET(SRC + intern/attributes.cpp + intern/controlparticles.cpp + intern/elbeem.cpp + intern/elbeem_control.cpp + intern/isosurface.cpp + intern/mvmcoords.cpp + intern/ntl_blenderdumper.cpp + intern/ntl_bsptree.cpp + intern/ntl_geometrymodel.cpp + intern/ntl_geometryobject.cpp + intern/ntl_lighting.cpp + intern/ntl_ray.cpp + intern/ntl_world.cpp + intern/parametrizer.cpp + intern/particletracer.cpp + intern/simulation_object.cpp + intern/solver_adap.cpp + intern/solver_control.cpp + intern/solver_init.cpp + intern/solver_interface.cpp + intern/solver_main.cpp + intern/solver_util.cpp + intern/utilities.cpp +) ADD_DEFINITIONS(-DNOGUI -DELBEEM_BLENDER=1) IF(WINDOWS) diff --git a/intern/iksolver/CMakeLists.txt b/intern/iksolver/CMakeLists.txt index 50ae78d6d16..11bad7ed5f6 100644 --- a/intern/iksolver/CMakeLists.txt +++ b/intern/iksolver/CMakeLists.txt @@ -30,6 +30,13 @@ SET(INC ../moto/include ) -FILE(GLOB SRC intern/*.cpp) +SET(SRC + intern/IK_QJacobian.cpp + intern/IK_QJacobianSolver.cpp + intern/IK_QSegment.cpp + intern/IK_QTask.cpp + intern/IK_Solver.cpp + intern/MT_ExpMap.cpp +) BLENDERLIB(bf_intern_ik "${SRC}" "${INC}") diff --git a/intern/itasc/CMakeLists.txt b/intern/itasc/CMakeLists.txt index 88f902b38c8..c8d2bbb6987 100644 --- a/intern/itasc/CMakeLists.txt +++ b/intern/itasc/CMakeLists.txt @@ -24,8 +24,46 @@ # # ***** END GPL LICENSE BLOCK ***** -SET(INC ../../extern/Eigen2) +SET(INC + ../../extern/Eigen2 +) -FILE(GLOB SRC *.cpp kdl/*.cpp kdl/utilities/*.cpp) +SET(SRC + Armature.cpp + Cache.cpp + ConstraintSet.cpp + ControlledObject.cpp + CopyPose.cpp + Distance.cpp + FixedObject.cpp + MovingFrame.cpp + Scene.cpp + UncontrolledObject.cpp + WDLSSolver.cpp + WSDLSSolver.cpp + WorldObject.cpp + eigen_types.cpp + kdl/chain.cpp + kdl/chainfksolverpos_recursive.cpp + kdl/chainjnttojacsolver.cpp + kdl/frameacc.cpp + kdl/frames.cpp + kdl/frames_io.cpp + kdl/framevel.cpp + kdl/inertia.cpp + kdl/jacobian.cpp + kdl/jntarray.cpp + kdl/jntarrayacc.cpp + kdl/jntarrayvel.cpp + kdl/joint.cpp + kdl/kinfam_io.cpp + kdl/segment.cpp + kdl/tree.cpp + kdl/treefksolverpos_recursive.cpp + kdl/treejnttojacsolver.cpp + kdl/utilities/error_stack.cpp + kdl/utilities/utility.cpp + kdl/utilities/utility_io.cpp +) BLENDERLIB(bf_intern_itasc "${SRC}" "${INC}") diff --git a/intern/memutil/CMakeLists.txt b/intern/memutil/CMakeLists.txt index ebbc53403f4..10bb6733c93 100644 --- a/intern/memutil/CMakeLists.txt +++ b/intern/memutil/CMakeLists.txt @@ -24,7 +24,10 @@ # # ***** END GPL LICENSE BLOCK ***** -SET(INC . ..) +SET(INC + . + .. +) SET(SRC ./intern/MEM_CacheLimiterC-Api.cpp diff --git a/intern/moto/CMakeLists.txt b/intern/moto/CMakeLists.txt index 91c523eced9..f3300ec562b 100644 --- a/intern/moto/CMakeLists.txt +++ b/intern/moto/CMakeLists.txt @@ -24,8 +24,23 @@ # # ***** END GPL LICENSE BLOCK ***** -SET(INC include) +SET(INC + include +) -FILE(GLOB SRC intern/*.cpp) +SET(SRC + intern/MT_Assert.cpp + intern/MT_CmMatrix4x4.cpp + intern/MT_Matrix3x3.cpp + intern/MT_Matrix4x4.cpp + intern/MT_Plane3.cpp + intern/MT_Point3.cpp + intern/MT_Quaternion.cpp + intern/MT_Transform.cpp + intern/MT_Vector2.cpp + intern/MT_Vector3.cpp + intern/MT_Vector4.cpp + intern/MT_random.cpp +) BLENDERLIB(bf_intern_moto "${SRC}" "${INC}") diff --git a/intern/opennl/CMakeLists.txt b/intern/opennl/CMakeLists.txt index b29eaa680b6..900bad543ac 100644 --- a/intern/opennl/CMakeLists.txt +++ b/intern/opennl/CMakeLists.txt @@ -24,8 +24,44 @@ # # ***** END GPL LICENSE BLOCK ***** -SET(INC extern superlu) +SET(INC + extern + superlu +) -FILE(GLOB SRC intern/*.c superlu/*.c) +SET(SRC + intern/opennl.c + superlu/colamd.c + superlu/get_perm_c.c + superlu/heap_relax_snode.c + superlu/lsame.c + superlu/memory.c + superlu/mmd.c + superlu/relax_snode.c + superlu/scolumn_bmod.c + superlu/scolumn_dfs.c + superlu/scopy_to_ucol.c + superlu/sgssv.c + superlu/sgstrf.c + superlu/sgstrs.c + superlu/smemory.c + superlu/smyblas2.c + superlu/sp_coletree.c + superlu/sp_ienv.c + superlu/sp_preorder.c + superlu/spanel_bmod.c + superlu/spanel_dfs.c + superlu/spivotL.c + superlu/spruneL.c + superlu/ssnode_bmod.c + superlu/ssnode_dfs.c + superlu/ssp_blas2.c + superlu/ssp_blas3.c + superlu/strsv.c + superlu/superlu_timer.c + superlu/sutil.c + superlu/util.c + superlu/xerbla.c +) BLENDERLIB(bf_intern_opennl "${SRC}" "${INC}") diff --git a/intern/smoke/CMakeLists.txt b/intern/smoke/CMakeLists.txt index 6c844cbd232..741301f04da 100644 --- a/intern/smoke/CMakeLists.txt +++ b/intern/smoke/CMakeLists.txt @@ -33,7 +33,16 @@ SET(INC ${ZLIB_INC} ) -FILE(GLOB SRC intern/*.cpp) +SET(SRC + intern/EIGENVALUE_HELPER.cpp + intern/FLUID_3D.cpp + intern/FLUID_3D_SOLVERS.cpp + intern/FLUID_3D_STATIC.cpp + intern/LU_HELPER.cpp + intern/SPHERE.cpp + intern/WTURBULENCE.cpp + intern/smoke_API.cpp +) IF(WITH_OPENMP) ADD_DEFINITIONS(-DPARALLEL=1) diff --git a/intern/string/CMakeLists.txt b/intern/string/CMakeLists.txt index a1b130d93be..399de33e043 100644 --- a/intern/string/CMakeLists.txt +++ b/intern/string/CMakeLists.txt @@ -24,7 +24,12 @@ # # ***** END GPL LICENSE BLOCK ***** -SET(INC .) -SET(SRC ./intern/STR_String.cpp) +SET(INC + . +) + +SET(SRC + ./intern/STR_String.cpp +) BLENDERLIB(bf_intern_string "${SRC}" "${INC}") diff --git a/source/blender/avi/CMakeLists.txt b/source/blender/avi/CMakeLists.txt index b1ddb8c7895..62bf51dada3 100644 --- a/source/blender/avi/CMakeLists.txt +++ b/source/blender/avi/CMakeLists.txt @@ -24,12 +24,20 @@ # # ***** END GPL LICENSE BLOCK ***** -FILE(GLOB SRC intern/*.c) - SET(INC . ../../../intern/guardedalloc ${JPEG_INC} ) +SET(SRC + intern/avi.c + intern/avirgb.c + intern/codecs.c + intern/endian.c + intern/mjpeg.c + intern/options.c + intern/rgb32.c +) + BLENDERLIB(bf_avi "${SRC}" "${INC}") diff --git a/source/blender/blenfont/CMakeLists.txt b/source/blender/blenfont/CMakeLists.txt index abaf769bd3c..f6afa31a28d 100644 --- a/source/blender/blenfont/CMakeLists.txt +++ b/source/blender/blenfont/CMakeLists.txt @@ -22,8 +22,6 @@ # # ***** END GPL LICENSE BLOCK ***** -FILE(GLOB SRC intern/*.c) - SET(INC . ../blenlib @@ -35,6 +33,15 @@ SET(INC ${FREETYPE_INCLUDE_DIRS} ) +SET(SRC + intern/blf.c + intern/blf_dir.c + intern/blf_font.c + intern/blf_glyph.c + intern/blf_lang.c + intern/blf_util.c +) + IF(WITH_INTERNATIONAL) LIST(APPEND INC ${GETTEXT_INC}) ADD_DEFINITIONS(-DINTERNATIONAL) diff --git a/source/blender/blenkernel/CMakeLists.txt b/source/blender/blenkernel/CMakeLists.txt index f6c8febd955..a63f0031eed 100644 --- a/source/blender/blenkernel/CMakeLists.txt +++ b/source/blender/blenkernel/CMakeLists.txt @@ -24,8 +24,6 @@ # # ***** END GPL LICENSE BLOCK ***** -FILE(GLOB SRC intern/*.c) - SET(INC . ../avi @@ -54,6 +52,93 @@ SET(INC ${ZLIB_INC} ) +SET(SRC + intern/BME_Customdata.c + intern/BME_conversions.c + intern/BME_eulers.c + intern/BME_mesh.c + intern/BME_structure.c + intern/BME_tools.c + intern/CCGSubSurf.c + intern/DerivedMesh.c + intern/action.c + intern/anim.c + intern/anim_sys.c + intern/armature.c + intern/blender.c + intern/bmfont.c + intern/boids.c + intern/booleanops_mesh.c + intern/brush.c + intern/bullet.c + intern/bvhutils.c + intern/cdderivedmesh.c + intern/cloth.c + intern/collision.c + intern/colortools.c + intern/constraint.c + intern/context.c + intern/curve.c + intern/customdata.c + intern/customdata_file.c + intern/deform.c + intern/depsgraph.c + intern/displist.c + intern/effect.c + intern/exotic.c + intern/fcurve.c + intern/fluidsim.c + intern/fmodifier.c + intern/font.c + intern/gpencil.c + intern/group.c + intern/icons.c + intern/idcode.c + intern/idprop.c + intern/image.c + intern/image_gen.c + intern/implicit.c + intern/ipo.c + intern/key.c + intern/lattice.c + intern/library.c + intern/material.c + intern/mball.c + intern/mesh.c + intern/modifier.c + intern/multires.c + intern/nla.c + intern/node.c + intern/object.c + intern/packedFile.c + intern/paint.c + intern/particle.c + intern/particle_system.c + intern/pointcache.c + intern/property.c + intern/report.c + intern/sca.c + intern/scene.c + intern/screen.c + intern/script.c + intern/seqcache.c + intern/seqeffects.c + intern/sequencer.c + intern/shrinkwrap.c + intern/sketch.c + intern/smoke.c + intern/softbody.c + intern/sound.c + intern/subsurf_ccg.c + intern/suggestions.c + intern/text.c + intern/texture.c + intern/unit.c + intern/world.c + intern/writeavi.c + intern/writeffmpeg.c + intern/writeframeserver.c +) ADD_DEFINITIONS(-DGLEW_STATIC) diff --git a/source/blender/blenlib/CMakeLists.txt b/source/blender/blenlib/CMakeLists.txt index 320d4ac783f..a37723a8287 100644 --- a/source/blender/blenlib/CMakeLists.txt +++ b/source/blender/blenlib/CMakeLists.txt @@ -24,8 +24,6 @@ # # ***** END GPL LICENSE BLOCK ***** -FILE(GLOB SRC intern/*.c) - SET(INC . ../makesdna @@ -38,9 +36,52 @@ SET(INC ${FREETYPE_INCLUDE_DIRS} ) -# unused -LIST(REMOVE_ITEM SRC "${CMAKE_CURRENT_SOURCE_DIR}/intern/BLI_bfile.c") - +SET(SRC + intern/BLI_args.c + intern/BLI_dynstr.c + intern/BLI_ghash.c + intern/BLI_heap.c + intern/BLI_kdopbvh.c + intern/BLI_kdtree.c + intern/BLI_linklist.c + intern/BLI_memarena.c + intern/BLI_mempool.c + intern/DLRB_tree.c + intern/boxpack2d.c + intern/bpath.c + intern/cpu.c + intern/dynlib.c + intern/edgehash.c + intern/fileops.c + intern/fnmatch.c + intern/freetypefont.c + intern/graph.c + intern/gsqueue.c + intern/jitter.c + intern/listbase.c + intern/math_base.c + intern/math_base_inline.c + intern/math_color.c + intern/math_geom.c + intern/math_geom_inline.c + intern/math_matrix.c + intern/math_rotation.c + intern/math_vector.c + intern/math_vector_inline.c + intern/noise.c + intern/path_util.c + intern/pbvh.c + intern/rand.c + intern/rct.c + intern/scanfill.c + intern/storage.c + intern/string.c + intern/threads.c + intern/time.c + intern/uvproject.c + intern/voxel.c + intern/winstuff.c +) IF(CMAKE_SYSTEM_NAME MATCHES "Linux") LIST(APPEND INC "${BINRELOC_INC}") diff --git a/source/blender/blenloader/CMakeLists.txt b/source/blender/blenloader/CMakeLists.txt index cc70d3355f2..144b1d1b1a1 100644 --- a/source/blender/blenloader/CMakeLists.txt +++ b/source/blender/blenloader/CMakeLists.txt @@ -24,8 +24,6 @@ # # ***** END GPL LICENSE BLOCK ***** -FILE(GLOB SRC intern/*.c) - SET(INC . ../blenlib @@ -39,4 +37,11 @@ SET(INC ${ZLIB_INC} ) +SET(SRC + intern/readblenentry.c + intern/readfile.c + intern/undofile.c + intern/writefile.c +) + BLENDERLIB(bf_blenloader "${SRC}" "${INC}") diff --git a/source/blender/blenpluginapi/CMakeLists.txt b/source/blender/blenpluginapi/CMakeLists.txt index 3abf1e44449..41ec5864382 100644 --- a/source/blender/blenpluginapi/CMakeLists.txt +++ b/source/blender/blenpluginapi/CMakeLists.txt @@ -24,8 +24,6 @@ # # ***** END GPL LICENSE BLOCK ***** -FILE(GLOB SRC intern/*.c) - SET(INC . .. @@ -35,6 +33,10 @@ SET(INC ../../../intern/guardedalloc ) +SET(SRC + intern/pluginapi.c +) + IF(WIN32) LIST(APPEND INC ${PTHREADS_INC}) ENDIF(WIN32) diff --git a/source/blender/collada/CMakeLists.txt b/source/blender/collada/CMakeLists.txt index a72ecc4be6c..bcc407b6b68 100644 --- a/source/blender/collada/CMakeLists.txt +++ b/source/blender/collada/CMakeLists.txt @@ -24,43 +24,55 @@ # # ***** END GPL LICENSE BLOCK ***** -FILE(GLOB SRC *.cpp) - -IF(APPLE) SET(INC - . - ../blenlib - ../blenkernel - ../windowmanager - ../makesdna - ../makesrna - ../editors/include - ../../../intern/guardedalloc - ${OPENCOLLADA_INC}/COLLADAStreamWriter - ${OPENCOLLADA_INC}/COLLADABaseUtils - ${OPENCOLLADA_INC}/COLLADAFramework - ${OPENCOLLADA_INC}/COLLADASaxFrameworkLoader + . + ../blenlib + ../blenkernel + ../windowmanager + ../makesdna + ../makesrna + ../editors/include + ../../../intern/guardedalloc ) +IF(APPLE) + LIST(APPEND INC + ${OPENCOLLADA_INC}/COLLADAStreamWriter + ${OPENCOLLADA_INC}/COLLADABaseUtils + ${OPENCOLLADA_INC}/COLLADAFramework + ${OPENCOLLADA_INC}/COLLADASaxFrameworkLoader + ) ELSE(APPLE) + LIST(APPEND INC + ${OPENCOLLADA_INC}/COLLADAStreamWriter/include + ${OPENCOLLADA_INC}/COLLADABaseUtils/include + ${OPENCOLLADA_INC}/COLLADAFramework/include + ${OPENCOLLADA_INC}/COLLADASaxFrameworkLoader/include + ) +ENDIF(APPLE) -SET(INC - . - ../blenlib - ../blenkernel - ../windowmanager - ../makesdna - ../makesrna - ../editors/include - ../../../intern/guardedalloc - ${OPENCOLLADA_INC}/COLLADAStreamWriter/include - ${OPENCOLLADA_INC}/COLLADABaseUtils/include - ${OPENCOLLADA_INC}/COLLADAFramework/include - ${OPENCOLLADA_INC}/COLLADASaxFrameworkLoader/include +SET(SRC + AnimationImporter.cpp + ArmatureExporter.cpp + ArmatureImporter.cpp + CameraExporter.cpp + DocumentExporter.cpp + DocumentImporter.cpp + EffectExporter.cpp + GeometryExporter.cpp + ImageExporter.cpp + InstanceWriter.cpp + LightExporter.cpp + MaterialExporter.cpp + MeshImporter.cpp + SkinInfo.cpp + TransformReader.cpp + TransformWriter.cpp + collada.cpp + collada_internal.cpp + collada_utils.cpp ) -ENDIF(APPLE) - IF(WITH_BUILDINFO) ADD_DEFINITIONS(-DNAN_BUILDINFO) ENDIF(WITH_BUILDINFO) diff --git a/source/blender/editors/animation/CMakeLists.txt b/source/blender/editors/animation/CMakeLists.txt index d5eef6bbd34..7954e2c8313 100644 --- a/source/blender/editors/animation/CMakeLists.txt +++ b/source/blender/editors/animation/CMakeLists.txt @@ -19,8 +19,6 @@ # # ***** END GPL LICENSE BLOCK ***** -FILE(GLOB SRC *.c) - SET(INC ../include ../../blenkernel @@ -31,4 +29,22 @@ SET(INC ../../../../intern/guardedalloc ) +SET(SRC + anim_channels_defines.c + anim_channels_edit.c + anim_deps.c + anim_draw.c + anim_filter.c + anim_ipo_utils.c + anim_markers.c + anim_ops.c + drivers.c + fmodifier_ui.c + keyframes_draw.c + keyframes_edit.c + keyframes_general.c + keyframing.c + keyingsets.c +) + BLENDERLIB(bf_editor_animation "${SRC}" "${INC}") diff --git a/source/blender/editors/armature/CMakeLists.txt b/source/blender/editors/armature/CMakeLists.txt index b5634921343..62b76655010 100644 --- a/source/blender/editors/armature/CMakeLists.txt +++ b/source/blender/editors/armature/CMakeLists.txt @@ -19,8 +19,6 @@ # # ***** END GPL LICENSE BLOCK ***** -FILE(GLOB SRC *.c) - SET(INC ../include ../../blenkernel @@ -32,6 +30,20 @@ SET(INC ../../../../intern/opennl/extern ) +SET(SRC + armature_ops.c + editarmature.c + editarmature_generate.c + editarmature_retarget.c + editarmature_sketch.c + meshlaplacian.c + poseSlide.c + poseUtils.c + poselib.c + poseobject.c + reeb.c +) + IF(WIN32) LIST(APPEND INC ${PTHREADS_INC}) ENDIF(WIN32) diff --git a/source/blender/editors/curve/CMakeLists.txt b/source/blender/editors/curve/CMakeLists.txt index ab45d73a2de..8e47dc9c264 100644 --- a/source/blender/editors/curve/CMakeLists.txt +++ b/source/blender/editors/curve/CMakeLists.txt @@ -19,8 +19,6 @@ # # ***** END GPL LICENSE BLOCK ***** -FILE(GLOB SRC *.c) - SET(INC ../include ../../blenkernel @@ -31,4 +29,11 @@ SET(INC ../../../../intern/guardedalloc ) +SET(SRC + curve_ops.c + editcurve.c + editfont.c + lorem.c +) + BLENDERLIB(bf_editor_curve "${SRC}" "${INC}") diff --git a/source/blender/editors/datafiles/CMakeLists.txt b/source/blender/editors/datafiles/CMakeLists.txt index d37ee338733..7683db8ab7a 100644 --- a/source/blender/editors/datafiles/CMakeLists.txt +++ b/source/blender/editors/datafiles/CMakeLists.txt @@ -19,8 +19,45 @@ # # ***** END GPL LICENSE BLOCK ***** -FILE(GLOB SRC *.c) - SET(INC "") +SET(SRC + Bfont.c + add.png.c + bfont.ttf.c + blenderbuttons.c + blob.png.c + blur.png.c + bmonofont.ttf.c + clay.png.c + clone.png.c + crease.png.c + darken.png.c + draw.png.c + fill.png.c + flatten.png.c + grab.png.c + inflate.png.c + layer.png.c + lighten.png.c + mix.png.c + multiply.png.c + nudge.png.c + pinch.png.c + preview.blend.c + prvicons.c + scrape.png.c + smear.png.c + smooth.png.c + snake_hook.png.c + soften.png.c + splash.png.c + startup.blend.c + subtract.png.c + texdraw.png.c + thumb.png.c + twist.png.c + vertexdraw.png.c +) + BLENDERLIB(bf_editor_datafiles "${SRC}" "${INC}") diff --git a/source/blender/editors/gpencil/CMakeLists.txt b/source/blender/editors/gpencil/CMakeLists.txt index 394418b5688..ab92f0a9b41 100644 --- a/source/blender/editors/gpencil/CMakeLists.txt +++ b/source/blender/editors/gpencil/CMakeLists.txt @@ -19,8 +19,6 @@ # # ***** END GPL LICENSE BLOCK ***** -FILE(GLOB SRC *.c) - SET(INC ../include ../../blenkernel @@ -32,4 +30,13 @@ SET(INC ../../../../intern/guardedalloc ) +SET(SRC + drawgpencil.c + editaction_gpencil.c + gpencil_buttons.c + gpencil_edit.c + gpencil_ops.c + gpencil_paint.c +) + BLENDERLIB(bf_editor_gpencil "${SRC}" "${INC}") diff --git a/source/blender/editors/interface/CMakeLists.txt b/source/blender/editors/interface/CMakeLists.txt index 4b4590aeee5..31de4537c24 100644 --- a/source/blender/editors/interface/CMakeLists.txt +++ b/source/blender/editors/interface/CMakeLists.txt @@ -19,8 +19,6 @@ # # ***** END GPL LICENSE BLOCK ***** -FILE(GLOB SRC *.c) - SET(INC ../include ../../blenfont @@ -35,6 +33,25 @@ SET(INC ../../../../intern/guardedalloc ) +SET(SRC + interface.c + interface_anim.c + interface_draw.c + interface_handlers.c + interface_icons.c + interface_layout.c + interface_ops.c + interface_panel.c + interface_regions.c + interface_style.c + interface_templates.c + interface_utils.c + interface_widgets.c + resources.c + view2d.c + view2d_ops.c +) + IF(WITH_INTERNATIONAL) ADD_DEFINITIONS(-DINTERNATIONAL) ENDIF(WITH_INTERNATIONAL) diff --git a/source/blender/editors/mesh/CMakeLists.txt b/source/blender/editors/mesh/CMakeLists.txt index 4145f251a64..1e26f273b41 100644 --- a/source/blender/editors/mesh/CMakeLists.txt +++ b/source/blender/editors/mesh/CMakeLists.txt @@ -19,8 +19,6 @@ # # ***** END GPL LICENSE BLOCK ***** -FILE(GLOB SRC *.c) - SET(INC ../include ../../blenkernel @@ -33,6 +31,20 @@ SET(INC ../../../../intern/guardedalloc ) +SET(SRC + editface.c + editmesh.c + editmesh_add.c + editmesh_lib.c + editmesh_loop.c + editmesh_mods.c + editmesh_tools.c + loopcut.c + mesh_data.c + mesh_ops.c + meshtools.c +) + IF(WIN32) LIST(APPEND INC ${PTHREADS_INC}) ENDIF(WIN32) diff --git a/source/blender/editors/metaball/CMakeLists.txt b/source/blender/editors/metaball/CMakeLists.txt index 5e821a5c1e8..9b9ca809f25 100644 --- a/source/blender/editors/metaball/CMakeLists.txt +++ b/source/blender/editors/metaball/CMakeLists.txt @@ -19,8 +19,6 @@ # # ***** END GPL LICENSE BLOCK ***** -FILE(GLOB SRC *.c) - SET(INC ../include ../../blenkernel @@ -32,4 +30,9 @@ SET(INC ../../../../intern/guardedalloc ) +SET(SRC + mball_edit.c + mball_ops.c +) + BLENDERLIB(bf_editor_metaball "${SRC}" "${INC}") diff --git a/source/blender/editors/object/CMakeLists.txt b/source/blender/editors/object/CMakeLists.txt index 10fbd62a098..bfcb233e466 100644 --- a/source/blender/editors/object/CMakeLists.txt +++ b/source/blender/editors/object/CMakeLists.txt @@ -19,8 +19,6 @@ # # ***** END GPL LICENSE BLOCK ***** -FILE(GLOB SRC *.c) - SET(INC ../include ../../blenkernel @@ -36,12 +34,29 @@ SET(INC ../../../../intern/guardedalloc ) -IF(NOT WITH_PYTHON) - ADD_DEFINITIONS(-DDISABLE_PYTHON) -ENDIF(NOT WITH_PYTHON) +SET(SRC + object_add.c + object_bake.c + object_constraint.c + object_edit.c + object_group.c + object_hook.c + object_lattice.c + object_modifier.c + object_ops.c + object_relations.c + object_select.c + object_shapekey.c + object_transform.c + object_vgroup.c +) IF(WIN32) LIST(APPEND INC ${PTHREADS_INC}) ENDIF(WIN32) +IF(NOT WITH_PYTHON) + ADD_DEFINITIONS(-DDISABLE_PYTHON) +ENDIF(NOT WITH_PYTHON) + BLENDERLIB(bf_editor_object "${SRC}" "${INC}") diff --git a/source/blender/editors/physics/CMakeLists.txt b/source/blender/editors/physics/CMakeLists.txt index 49f20bb9ed0..5d36038b76a 100644 --- a/source/blender/editors/physics/CMakeLists.txt +++ b/source/blender/editors/physics/CMakeLists.txt @@ -19,8 +19,6 @@ # # ***** END GPL LICENSE BLOCK ***** -FILE(GLOB SRC *.c) - SET(INC ../include ../../blenkernel @@ -32,6 +30,19 @@ SET(INC ../../../../intern/guardedalloc ) +SET(SRC + particle_boids.c + particle_edit.c + particle_object.c + physics_fluid.c + physics_ops.c + physics_pointcache.c +) + +IF(WIN32) + LIST(APPEND INC ${PTHREADS_INC}) +ENDIF(WIN32) + IF(NOT WITH_FLUID) ADD_DEFINITIONS(-DDISABLE_ELBEEM) ENDIF(NOT WITH_FLUID) @@ -40,8 +51,4 @@ IF(WITH_OPENMP) ADD_DEFINITIONS(-DPARALLEL=1) ENDIF(WITH_OPENMP) -IF(WIN32) - LIST(APPEND INC ${PTHREADS_INC}) -ENDIF(WIN32) - BLENDERLIB(bf_editor_physics "${SRC}" "${INC}") diff --git a/source/blender/editors/render/CMakeLists.txt b/source/blender/editors/render/CMakeLists.txt index d494355a1e9..57ee27c3b6b 100644 --- a/source/blender/editors/render/CMakeLists.txt +++ b/source/blender/editors/render/CMakeLists.txt @@ -19,8 +19,6 @@ # # ***** END GPL LICENSE BLOCK ***** -FILE(GLOB SRC *.c) - SET(INC ../include ../../blenfont @@ -37,6 +35,14 @@ SET(INC ../../../../extern/glew/include ) +SET(SRC + render_internal.c + render_opengl.c + render_ops.c + render_preview.c + render_shading.c +) + IF(WITH_QUICKTIME) LIST(APPEND INC ../../quicktime ${QUICKTIME_INC}) ADD_DEFINITIONS(-DWITH_QUICKTIME) diff --git a/source/blender/editors/screen/CMakeLists.txt b/source/blender/editors/screen/CMakeLists.txt index f7dfd81dba9..4ea056ac400 100644 --- a/source/blender/editors/screen/CMakeLists.txt +++ b/source/blender/editors/screen/CMakeLists.txt @@ -19,8 +19,6 @@ # # ***** END GPL LICENSE BLOCK ***** -FILE(GLOB SRC *.c) - SET(INC ../include ../../blenfont @@ -33,6 +31,15 @@ SET(INC ../../../../intern/guardedalloc ) +SET(SRC + area.c + glutil.c + screen_context.c + screen_edit.c + screen_ops.c + screendump.c +) + IF(WIN32) LIST(APPEND INC ${PTHREADS_INC}) ENDIF(WIN32) diff --git a/source/blender/editors/sculpt_paint/CMakeLists.txt b/source/blender/editors/sculpt_paint/CMakeLists.txt index 3211763b619..364677f9a8d 100644 --- a/source/blender/editors/sculpt_paint/CMakeLists.txt +++ b/source/blender/editors/sculpt_paint/CMakeLists.txt @@ -19,8 +19,6 @@ # # ***** END GPL LICENSE BLOCK ***** -FILE(GLOB SRC *.c) - SET(INC ../include ../../blenkernel @@ -34,6 +32,17 @@ SET(INC ../../../../intern/guardedalloc ) +SET(SRC + paint_image.c + paint_ops.c + paint_stroke.c + paint_undo.c + paint_utils.c + paint_vertex.c + sculpt.c + sculpt_undo.c +) + IF(WIN32) LIST(APPEND INC ${PTHREADS_INC}) ENDIF(WIN32) diff --git a/source/blender/editors/sound/CMakeLists.txt b/source/blender/editors/sound/CMakeLists.txt index 456c02d947e..377643a5463 100644 --- a/source/blender/editors/sound/CMakeLists.txt +++ b/source/blender/editors/sound/CMakeLists.txt @@ -19,8 +19,6 @@ # # ***** END GPL LICENSE BLOCK ***** -FILE(GLOB SRC *.c) - SET(INC ../include ../../blenkernel @@ -32,4 +30,8 @@ SET(INC ../../../../intern/audaspace/intern ) +SET(SRC + sound_ops.c +) + BLENDERLIB(bf_editor_sound "${SRC}" "${INC}") diff --git a/source/blender/editors/space_action/CMakeLists.txt b/source/blender/editors/space_action/CMakeLists.txt index 3c0585c31ca..2ddc60a9e59 100644 --- a/source/blender/editors/space_action/CMakeLists.txt +++ b/source/blender/editors/space_action/CMakeLists.txt @@ -19,8 +19,6 @@ # # ***** END GPL LICENSE BLOCK ***** -FILE(GLOB SRC *.c) - SET(INC ../include ../../blenkernel @@ -31,4 +29,12 @@ SET(INC ../../../../intern/guardedalloc ) +SET(SRC + action_draw.c + action_edit.c + action_ops.c + action_select.c + space_action.c +) + BLENDERLIB(bf_editor_space_action "${SRC}" "${INC}") diff --git a/source/blender/editors/space_api/CMakeLists.txt b/source/blender/editors/space_api/CMakeLists.txt index da140fe0982..5436d8207c5 100644 --- a/source/blender/editors/space_api/CMakeLists.txt +++ b/source/blender/editors/space_api/CMakeLists.txt @@ -19,8 +19,6 @@ # # ***** END GPL LICENSE BLOCK ***** -FILE(GLOB SRC *.c) - SET(INC ../include ../../blenkernel @@ -31,4 +29,9 @@ SET(INC ../../../../intern/guardedalloc ) +SET(SRC + space.c + spacetypes.c +) + BLENDERLIB(bf_editor_space_api "${SRC}" "${INC}") diff --git a/source/blender/editors/space_buttons/CMakeLists.txt b/source/blender/editors/space_buttons/CMakeLists.txt index f8e9536ecf8..b92f2051e74 100644 --- a/source/blender/editors/space_buttons/CMakeLists.txt +++ b/source/blender/editors/space_buttons/CMakeLists.txt @@ -19,8 +19,6 @@ # # ***** END GPL LICENSE BLOCK ***** -FILE(GLOB SRC *.c) - SET(INC ../include ../../blenkernel @@ -31,4 +29,11 @@ SET(INC ../../../../intern/guardedalloc ) +SET(SRC + buttons_context.c + buttons_header.c + buttons_ops.c + space_buttons.c +) + BLENDERLIB(bf_editor_space_buttons "${SRC}" "${INC}") diff --git a/source/blender/editors/space_console/CMakeLists.txt b/source/blender/editors/space_console/CMakeLists.txt index 59074bcbb79..b1d9920fed4 100644 --- a/source/blender/editors/space_console/CMakeLists.txt +++ b/source/blender/editors/space_console/CMakeLists.txt @@ -19,8 +19,6 @@ # # ***** END GPL LICENSE BLOCK ***** -FILE(GLOB SRC *.c) - SET(INC ../include ../../blenfont @@ -33,6 +31,13 @@ SET(INC ../../../../intern/guardedalloc ) +SET(SRC + console_draw.c + console_ops.c + console_report.c + space_console.c +) + IF(NOT WITH_PYTHON) ADD_DEFINITIONS(-DDISABLE_PYTHON) ENDIF(NOT WITH_PYTHON) diff --git a/source/blender/editors/space_file/CMakeLists.txt b/source/blender/editors/space_file/CMakeLists.txt index 2a204d67537..3130e6d6c14 100644 --- a/source/blender/editors/space_file/CMakeLists.txt +++ b/source/blender/editors/space_file/CMakeLists.txt @@ -19,8 +19,6 @@ # # ***** END GPL LICENSE BLOCK ***** -FILE(GLOB SRC *.c) - SET(INC ../include ../../blenfont @@ -35,6 +33,17 @@ SET(INC ../../../../intern/guardedalloc ) +SET(SRC + file_draw.c + file_ops.c + file_panels.c + filelist.c + filesel.c + fsmenu.c + space_file.c + writeimage.c +) + IF(WITH_IMAGE_OPENEXR) ADD_DEFINITIONS(-DWITH_OPENEXR) ENDIF(WITH_IMAGE_OPENEXR) diff --git a/source/blender/editors/space_graph/CMakeLists.txt b/source/blender/editors/space_graph/CMakeLists.txt index 33ddbcea019..d5c295cf251 100644 --- a/source/blender/editors/space_graph/CMakeLists.txt +++ b/source/blender/editors/space_graph/CMakeLists.txt @@ -19,8 +19,6 @@ # # ***** END GPL LICENSE BLOCK ***** -FILE(GLOB SRC *.c) - SET(INC ../include ../../blenkernel @@ -32,4 +30,14 @@ SET(INC ../../../../intern/audaspace/intern ) +SET(SRC + graph_buttons.c + graph_draw.c + graph_edit.c + graph_ops.c + graph_select.c + graph_utils.c + space_graph.c +) + BLENDERLIB(bf_editor_space_graph "${SRC}" "${INC}") diff --git a/source/blender/editors/space_image/CMakeLists.txt b/source/blender/editors/space_image/CMakeLists.txt index 750c4b324d6..c2166164b0a 100644 --- a/source/blender/editors/space_image/CMakeLists.txt +++ b/source/blender/editors/space_image/CMakeLists.txt @@ -19,8 +19,6 @@ # # ***** END GPL LICENSE BLOCK ***** -FILE(GLOB SRC *.c) - SET(INC ../include ../../blenkernel @@ -33,6 +31,15 @@ SET(INC ../../../../intern/guardedalloc ) +SET(SRC + image_buttons.c + image_draw.c + image_header.c + image_ops.c + image_render.c + space_image.c +) + IF(WITH_IMAGE_OPENEXR) ADD_DEFINITIONS(-DWITH_OPENEXR) ENDIF(WITH_IMAGE_OPENEXR) diff --git a/source/blender/editors/space_info/CMakeLists.txt b/source/blender/editors/space_info/CMakeLists.txt index 9d439c4ec00..4187afd8df4 100644 --- a/source/blender/editors/space_info/CMakeLists.txt +++ b/source/blender/editors/space_info/CMakeLists.txt @@ -19,8 +19,6 @@ # # ***** END GPL LICENSE BLOCK ***** -FILE(GLOB SRC *.c) - SET(INC ../include ../../blenkernel @@ -32,4 +30,10 @@ SET(INC ../../../../intern/guardedalloc ) +SET(SRC + info_ops.c + info_stats.c + space_info.c +) + BLENDERLIB(bf_editor_space_info "${SRC}" "${INC}") diff --git a/source/blender/editors/space_logic/CMakeLists.txt b/source/blender/editors/space_logic/CMakeLists.txt index 6f0a260124d..64519d606f1 100644 --- a/source/blender/editors/space_logic/CMakeLists.txt +++ b/source/blender/editors/space_logic/CMakeLists.txt @@ -19,8 +19,6 @@ # # ***** END GPL LICENSE BLOCK ***** -FILE(GLOB SRC *.c) - SET(INC ../include ../../blenkernel @@ -32,6 +30,13 @@ SET(INC ../../../../intern/guardedalloc ) +SET(SRC + logic_buttons.c + logic_ops.c + logic_window.c + space_logic.c +) + IF(WITH_GAMEENGINE) ADD_DEFINITIONS(-DGAMEBLENDER) ENDIF(WITH_GAMEENGINE) diff --git a/source/blender/editors/space_nla/CMakeLists.txt b/source/blender/editors/space_nla/CMakeLists.txt index 6bb656cba8c..0a5f484bb05 100644 --- a/source/blender/editors/space_nla/CMakeLists.txt +++ b/source/blender/editors/space_nla/CMakeLists.txt @@ -19,8 +19,6 @@ # # ***** END GPL LICENSE BLOCK ***** -FILE(GLOB SRC *.c) - SET(INC ../include ../../blenkernel @@ -31,4 +29,14 @@ SET(INC ../../../../intern/guardedalloc ) +SET(SRC + nla_buttons.c + nla_channels.c + nla_draw.c + nla_edit.c + nla_ops.c + nla_select.c + space_nla.c +) + BLENDERLIB(bf_editor_space_nla "${SRC}" "${INC}") diff --git a/source/blender/editors/space_node/CMakeLists.txt b/source/blender/editors/space_node/CMakeLists.txt index ae298a611e9..887d79f8fb3 100644 --- a/source/blender/editors/space_node/CMakeLists.txt +++ b/source/blender/editors/space_node/CMakeLists.txt @@ -19,8 +19,6 @@ # # ***** END GPL LICENSE BLOCK ***** -FILE(GLOB SRC *.c) - SET(INC ../include ../../blenkernel @@ -35,6 +33,18 @@ SET(INC ../../../../intern/opennl/extern ) +SET(SRC + drawnode.c + node_buttons.c + node_draw.c + node_edit.c + node_header.c + node_ops.c + node_select.c + node_state.c + space_node.c +) + IF(WIN32) LIST(APPEND INC ${PTHREADS_INC}) ENDIF(WIN32) diff --git a/source/blender/editors/space_outliner/CMakeLists.txt b/source/blender/editors/space_outliner/CMakeLists.txt index 5ebe47f8c5e..33128bde986 100644 --- a/source/blender/editors/space_outliner/CMakeLists.txt +++ b/source/blender/editors/space_outliner/CMakeLists.txt @@ -19,8 +19,6 @@ # # ***** END GPL LICENSE BLOCK ***** -FILE(GLOB SRC *.c) - SET(INC ../include ../../blenkernel @@ -33,4 +31,10 @@ SET(INC ../../../../intern/opennl/extern ) +SET(SRC + outliner.c + outliner_ops.c + space_outliner.c +) + BLENDERLIB(bf_editor_space_outliner "${SRC}" "${INC}") diff --git a/source/blender/editors/space_script/CMakeLists.txt b/source/blender/editors/space_script/CMakeLists.txt index 7abaa4db441..88c0ea56ab2 100644 --- a/source/blender/editors/space_script/CMakeLists.txt +++ b/source/blender/editors/space_script/CMakeLists.txt @@ -19,8 +19,6 @@ # # ***** END GPL LICENSE BLOCK ***** -FILE(GLOB SRC *.c) - SET(INC ../include ../../blenkernel @@ -31,6 +29,13 @@ SET(INC ../../../../intern/guardedalloc ) +SET(SRC + script_edit.c + script_header.c + script_ops.c + space_script.c +) + IF(WITH_PYTHON) LIST(APPEND INC ${PYTHON_INC} ../../python) ELSE(WITH_PYTHON) diff --git a/source/blender/editors/space_sequencer/CMakeLists.txt b/source/blender/editors/space_sequencer/CMakeLists.txt index fa99d35a7cd..673c6af74c7 100644 --- a/source/blender/editors/space_sequencer/CMakeLists.txt +++ b/source/blender/editors/space_sequencer/CMakeLists.txt @@ -19,8 +19,6 @@ # # ***** END GPL LICENSE BLOCK ***** -FILE(GLOB SRC *.c) - SET(INC ../include ../../blenkernel @@ -33,4 +31,15 @@ SET(INC ../../../../intern/audaspace/intern ) +SET(SRC + sequencer_add.c + sequencer_buttons.c + sequencer_draw.c + sequencer_edit.c + sequencer_ops.c + sequencer_scopes.c + sequencer_select.c + space_sequencer.c +) + BLENDERLIB(bf_editor_space_sequencer "${SRC}" "${INC}") diff --git a/source/blender/editors/space_sound/CMakeLists.txt b/source/blender/editors/space_sound/CMakeLists.txt index c78fc11a908..0f94e8a518e 100644 --- a/source/blender/editors/space_sound/CMakeLists.txt +++ b/source/blender/editors/space_sound/CMakeLists.txt @@ -19,8 +19,6 @@ # # ***** END GPL LICENSE BLOCK ***** -FILE(GLOB SRC *.c) - SET(INC ../include ../../blenkernel @@ -31,4 +29,9 @@ SET(INC ../../../../intern/guardedalloc ) +SET(SRC + sound_header.c + space_sound.c +) + BLENDERLIB(bf_editor_space_sound "${SRC}" "${INC}") diff --git a/source/blender/editors/space_text/CMakeLists.txt b/source/blender/editors/space_text/CMakeLists.txt index eabf508b5f6..b53a86fbe39 100644 --- a/source/blender/editors/space_text/CMakeLists.txt +++ b/source/blender/editors/space_text/CMakeLists.txt @@ -19,8 +19,6 @@ # # ***** END GPL LICENSE BLOCK ***** -FILE(GLOB SRC *.c) - SET(INC ../include ../../blenfont @@ -32,6 +30,14 @@ SET(INC ../../../../intern/guardedalloc ) +SET(SRC + space_text.c + text_draw.c + text_header.c + text_ops.c + text_python.c +) + IF(WITH_PYTHON) LIST(APPEND INC ${PYTHON_INC} ../../python) ELSE(WITH_PYTHON) diff --git a/source/blender/editors/space_time/CMakeLists.txt b/source/blender/editors/space_time/CMakeLists.txt index 4da42ec1f42..65f71e0b89b 100644 --- a/source/blender/editors/space_time/CMakeLists.txt +++ b/source/blender/editors/space_time/CMakeLists.txt @@ -19,8 +19,6 @@ # # ***** END GPL LICENSE BLOCK ***** -FILE(GLOB SRC *.c) - SET(INC ../include ../../blenkernel @@ -31,4 +29,9 @@ SET(INC ../../../../intern/guardedalloc ) +SET(SRC + space_time.c + time_ops.c +) + BLENDERLIB(bf_editor_space_time "${SRC}" "${INC}") diff --git a/source/blender/editors/space_userpref/CMakeLists.txt b/source/blender/editors/space_userpref/CMakeLists.txt index d57661bb166..b8a04a16edc 100644 --- a/source/blender/editors/space_userpref/CMakeLists.txt +++ b/source/blender/editors/space_userpref/CMakeLists.txt @@ -19,8 +19,6 @@ # # ***** END GPL LICENSE BLOCK ***** -FILE(GLOB SRC *.c) - SET(INC ../include ../../blenkernel @@ -31,4 +29,9 @@ SET(INC ../../../../intern/guardedalloc ) +SET(SRC + space_userpref.c + userpref_ops.c +) + BLENDERLIB(bf_editor_space_userpref "${SRC}" "${INC}") diff --git a/source/blender/editors/space_view3d/CMakeLists.txt b/source/blender/editors/space_view3d/CMakeLists.txt index 48747898981..855d770c784 100644 --- a/source/blender/editors/space_view3d/CMakeLists.txt +++ b/source/blender/editors/space_view3d/CMakeLists.txt @@ -19,8 +19,6 @@ # # ***** END GPL LICENSE BLOCK ***** -FILE(GLOB SRC *.c) - SET(INC ../include ../../blenfont @@ -36,6 +34,24 @@ SET(INC ../../../../intern/smoke/extern ) +SET(SRC + drawanimviz.c + drawarmature.c + drawmesh.c + drawobject.c + drawvolume.c + space_view3d.c + view3d_buttons.c + view3d_draw.c + view3d_edit.c + view3d_header.c + view3d_ops.c + view3d_select.c + view3d_snap.c + view3d_toolbar.c + view3d_view.c +) + IF(WITH_GAMEENGINE) LIST(APPEND INC ../../../kernel/gen_system) ADD_DEFINITIONS(-DGAMEBLENDER) diff --git a/source/blender/editors/transform/CMakeLists.txt b/source/blender/editors/transform/CMakeLists.txt index e28ed89c80c..61508a48ecd 100644 --- a/source/blender/editors/transform/CMakeLists.txt +++ b/source/blender/editors/transform/CMakeLists.txt @@ -19,8 +19,6 @@ # # ***** END GPL LICENSE BLOCK ***** -FILE(GLOB SRC *.c) - SET(INC ../include ../../blenkernel @@ -31,4 +29,17 @@ SET(INC ../../../../intern/guardedalloc ) +SET(SRC + transform.c + transform_constraints.c + transform_conversions.c + transform_generics.c + transform_input.c + transform_manipulator.c + transform_ndofinput.c + transform_ops.c + transform_orientations.c + transform_snap.c +) + BLENDERLIB(bf_editor_transform "${SRC}" "${INC}") diff --git a/source/blender/editors/util/CMakeLists.txt b/source/blender/editors/util/CMakeLists.txt index be700b17b7a..99f0d4bc2b2 100644 --- a/source/blender/editors/util/CMakeLists.txt +++ b/source/blender/editors/util/CMakeLists.txt @@ -19,8 +19,6 @@ # # ***** END GPL LICENSE BLOCK ***** -FILE(GLOB SRC *.c) - SET(INC ../include ../../blenkernel @@ -31,4 +29,11 @@ SET(INC ../../../../intern/guardedalloc ) +SET(SRC + ed_util.c + editmode_undo.c + numinput.c + undo.c +) + BLENDERLIB(bf_editor_util "${SRC}" "${INC}") diff --git a/source/blender/editors/uvedit/CMakeLists.txt b/source/blender/editors/uvedit/CMakeLists.txt index 36cd1274ec7..33251cc6344 100644 --- a/source/blender/editors/uvedit/CMakeLists.txt +++ b/source/blender/editors/uvedit/CMakeLists.txt @@ -19,8 +19,6 @@ # # ***** END GPL LICENSE BLOCK ***** -FILE(GLOB SRC *.c) - SET(INC ../include ../../blenkernel @@ -32,4 +30,11 @@ SET(INC ../../../../intern/opennl/extern ) +SET(SRC + uvedit_draw.c + uvedit_ops.c + uvedit_parametrizer.c + uvedit_unwrap_ops.c +) + BLENDERLIB(bf_editor_uvedit "${SRC}" "${INC}") diff --git a/source/blender/gpu/CMakeLists.txt b/source/blender/gpu/CMakeLists.txt index 5de7b0c5281..02a43abf098 100644 --- a/source/blender/gpu/CMakeLists.txt +++ b/source/blender/gpu/CMakeLists.txt @@ -24,8 +24,6 @@ # # ***** END GPL LICENSE BLOCK ***** -FILE(GLOB SRC intern/*.c) - SET(INC . ../blenlib @@ -39,6 +37,16 @@ SET(INC ../../../intern/smoke/extern ) +SET(SRC + intern/gpu_buffers.c + intern/gpu_codegen.c + intern/gpu_draw.c + intern/gpu_extensions.c + intern/gpu_material.c + intern/gpu_shader_material.glsl.c + intern/gpu_shader_vertex.glsl.c +) + IF(WIN32) INCLUDE_DIRECTORIES(${PTHREADS_INC}) ENDIF(WIN32) diff --git a/source/blender/ikplugin/CMakeLists.txt b/source/blender/ikplugin/CMakeLists.txt index 79f33effb87..61d5ff4f7fe 100644 --- a/source/blender/ikplugin/CMakeLists.txt +++ b/source/blender/ikplugin/CMakeLists.txt @@ -24,12 +24,6 @@ # # ***** END GPL LICENSE BLOCK ***** - -SET(SRC - ./intern/ikplugin_api.c - ./intern/iksolver_plugin.c -) - SET(INC ../blenlib ../makesdna @@ -40,6 +34,11 @@ SET(INC ../../../intern/iksolver/extern ) +SET(SRC + ./intern/ikplugin_api.c + ./intern/iksolver_plugin.c +) + IF(WITH_IK_ITASC) ADD_DEFINITIONS(-DWITH_IK_ITASC) LIST(APPEND INC ../../../extern/Eigen2) diff --git a/source/blender/imbuf/CMakeLists.txt b/source/blender/imbuf/CMakeLists.txt index 699ed6e1b00..f89ef033d78 100644 --- a/source/blender/imbuf/CMakeLists.txt +++ b/source/blender/imbuf/CMakeLists.txt @@ -24,9 +24,6 @@ # # ***** END GPL LICENSE BLOCK ***** -FILE(GLOB SRC intern/*.c) - - SET(INC . ../avi @@ -40,6 +37,35 @@ SET(INC ${ZLIB_INC} ) +SET(SRC + intern/allocimbuf.c + intern/anim_movie.c + intern/bmp.c + intern/cache.c + intern/divers.c + intern/filetype.c + intern/filter.c + intern/imageprocess.c + intern/iris.c + intern/jp2.c + intern/jpeg.c + intern/md5.c + intern/metadata.c + intern/module.c + intern/png.c + intern/radiance_hdr.c + intern/readimage.c + intern/rectop.c + intern/rotate.c + intern/scaling.c + intern/targa.c + intern/thumbs.c + intern/thumbs_blend.c + intern/tiff.c + intern/util.c + intern/writeimage.c +) + IF(WIN32) LIST(APPEND INC ${PTHREADS_INC}) ENDIF(WIN32) diff --git a/source/blender/imbuf/intern/cineon/CMakeLists.txt b/source/blender/imbuf/intern/cineon/CMakeLists.txt index 5633d2a66f6..a39235b20ec 100644 --- a/source/blender/imbuf/intern/cineon/CMakeLists.txt +++ b/source/blender/imbuf/intern/cineon/CMakeLists.txt @@ -24,17 +24,24 @@ # # ***** END GPL LICENSE BLOCK ***** -FILE(GLOB SRC *.c) - SET(INC . + intern/include .. ../../ - intern/include ../../../blenkernel ../../../blenlib ../../../makesdna ../../../../../intern/guardedalloc ) +SET(SRC + cineon_dpx.c + cineonlib.c + dpxlib.c + logImageCore.c + logImageLib.c + logmemfile.c +) + BLENDERLIB(bf_cineon "${SRC}" "${INC}") diff --git a/source/blender/imbuf/intern/dds/CMakeLists.txt b/source/blender/imbuf/intern/dds/CMakeLists.txt index 620d4041703..78513b35b87 100644 --- a/source/blender/imbuf/intern/dds/CMakeLists.txt +++ b/source/blender/imbuf/intern/dds/CMakeLists.txt @@ -24,8 +24,6 @@ # # ***** END GPL LICENSE BLOCK ***** -FILE (GLOB SRC *.cpp) - SET(INC . .. @@ -37,6 +35,15 @@ SET(INC ../../../../../intern/guardedalloc ) +SET(SRC + BlockDXT.cpp + ColorBlock.cpp + DirectDrawSurface.cpp + Image.cpp + Stream.cpp + dds_api.cpp +) + if(WITH_IMAGE_DDS) ADD_DEFINITIONS(-DWITH_DDS) ENDIF(WITH_IMAGE_DDS) diff --git a/source/blender/imbuf/intern/openexr/CMakeLists.txt b/source/blender/imbuf/intern/openexr/CMakeLists.txt index cfc977ff155..836958f4b09 100644 --- a/source/blender/imbuf/intern/openexr/CMakeLists.txt +++ b/source/blender/imbuf/intern/openexr/CMakeLists.txt @@ -24,8 +24,6 @@ # # ***** END GPL LICENSE BLOCK ***** -SET(SRC openexr_api.cpp) - SET(INC . ../../../blenkernel @@ -38,6 +36,10 @@ SET(INC ${OPENEXR_INC} ) +SET(SRC + openexr_api.cpp +) + IF(WITH_IMAGE_OPENEXR) ADD_DEFINITIONS(-DWITH_OPENEXR) ENDIF(WITH_IMAGE_OPENEXR) diff --git a/source/blender/modifiers/CMakeLists.txt b/source/blender/modifiers/CMakeLists.txt index b6dcc9c03f9..99e8c05b1ae 100644 --- a/source/blender/modifiers/CMakeLists.txt +++ b/source/blender/modifiers/CMakeLists.txt @@ -24,8 +24,6 @@ # # ***** END GPL LICENSE BLOCK ***** -FILE(GLOB SRC intern/*.c) - SET(INC . ./intern ../blenlib @@ -40,6 +38,47 @@ SET(INC ${ZLIB_INC} ) +SET(SRC + intern/MOD_armature.c + intern/MOD_array.c + intern/MOD_bevel.c + intern/MOD_boolean.c + intern/MOD_boolean_util.c + intern/MOD_build.c + intern/MOD_cast.c + intern/MOD_cloth.c + intern/MOD_collision.c + intern/MOD_curve.c + intern/MOD_decimate.c + intern/MOD_displace.c + intern/MOD_edgesplit.c + intern/MOD_explode.c + intern/MOD_fluidsim.c + intern/MOD_fluidsim_util.c + intern/MOD_hook.c + intern/MOD_lattice.c + intern/MOD_mask.c + intern/MOD_meshdeform.c + intern/MOD_mirror.c + intern/MOD_multires.c + intern/MOD_none.c + intern/MOD_particleinstance.c + intern/MOD_particlesystem.c + intern/MOD_screw.c + intern/MOD_shapekey.c + intern/MOD_shrinkwrap.c + intern/MOD_simpledeform.c + intern/MOD_smoke.c + intern/MOD_smooth.c + intern/MOD_softbody.c + intern/MOD_solidify.c + intern/MOD_subsurf.c + intern/MOD_surface.c + intern/MOD_util.c + intern/MOD_uvproject.c + intern/MOD_wave.c +) + IF(NOT WITH_FLUID) ADD_DEFINITIONS(-DDISABLE_ELBEEM) ENDIF(NOT WITH_FLUID) diff --git a/source/blender/nodes/CMakeLists.txt b/source/blender/nodes/CMakeLists.txt index 8d8423cc19b..d4383f330c4 100644 --- a/source/blender/nodes/CMakeLists.txt +++ b/source/blender/nodes/CMakeLists.txt @@ -23,8 +23,6 @@ # # ***** END GPL LICENSE BLOCK ***** -FILE(GLOB SRC intern/*.c intern/CMP_nodes/*.c intern/SHD_nodes/*.c intern/TEX_nodes/*.c) - SET(INC . ../blenkernel @@ -39,6 +37,109 @@ SET(INC ../../../extern/glew/include ) +SET(SRC + intern/CMP_nodes/CMP_alphaOver.c + intern/CMP_nodes/CMP_bilateralblur.c + intern/CMP_nodes/CMP_blur.c + intern/CMP_nodes/CMP_brightness.c + intern/CMP_nodes/CMP_channelMatte.c + intern/CMP_nodes/CMP_chromaMatte.c + intern/CMP_nodes/CMP_colorMatte.c + intern/CMP_nodes/CMP_colorSpill.c + intern/CMP_nodes/CMP_colorbalance.c + intern/CMP_nodes/CMP_composite.c + intern/CMP_nodes/CMP_crop.c + intern/CMP_nodes/CMP_curves.c + intern/CMP_nodes/CMP_defocus.c + intern/CMP_nodes/CMP_diffMatte.c + intern/CMP_nodes/CMP_dilate.c + intern/CMP_nodes/CMP_directionalblur.c + intern/CMP_nodes/CMP_displace.c + intern/CMP_nodes/CMP_distanceMatte.c + intern/CMP_nodes/CMP_filter.c + intern/CMP_nodes/CMP_flip.c + intern/CMP_nodes/CMP_gamma.c + intern/CMP_nodes/CMP_glare.c + intern/CMP_nodes/CMP_hueSatVal.c + intern/CMP_nodes/CMP_huecorrect.c + intern/CMP_nodes/CMP_idMask.c + intern/CMP_nodes/CMP_image.c + intern/CMP_nodes/CMP_invert.c + intern/CMP_nodes/CMP_lensdist.c + intern/CMP_nodes/CMP_levels.c + intern/CMP_nodes/CMP_lummaMatte.c + intern/CMP_nodes/CMP_mapUV.c + intern/CMP_nodes/CMP_mapValue.c + intern/CMP_nodes/CMP_math.c + intern/CMP_nodes/CMP_mixrgb.c + intern/CMP_nodes/CMP_normal.c + intern/CMP_nodes/CMP_normalize.c + intern/CMP_nodes/CMP_outputFile.c + intern/CMP_nodes/CMP_premulkey.c + intern/CMP_nodes/CMP_rgb.c + intern/CMP_nodes/CMP_rotate.c + intern/CMP_nodes/CMP_scale.c + intern/CMP_nodes/CMP_sepcombHSVA.c + intern/CMP_nodes/CMP_sepcombRGBA.c + intern/CMP_nodes/CMP_sepcombYCCA.c + intern/CMP_nodes/CMP_sepcombYUVA.c + intern/CMP_nodes/CMP_setalpha.c + intern/CMP_nodes/CMP_splitViewer.c + intern/CMP_nodes/CMP_texture.c + intern/CMP_nodes/CMP_tonemap.c + intern/CMP_nodes/CMP_translate.c + intern/CMP_nodes/CMP_valToRgb.c + intern/CMP_nodes/CMP_value.c + intern/CMP_nodes/CMP_vecBlur.c + intern/CMP_nodes/CMP_viewer.c + intern/CMP_nodes/CMP_zcombine.c + intern/CMP_util.c + intern/SHD_nodes/SHD_camera.c + intern/SHD_nodes/SHD_curves.c + intern/SHD_nodes/SHD_dynamic.c + intern/SHD_nodes/SHD_geom.c + intern/SHD_nodes/SHD_hueSatVal.c + intern/SHD_nodes/SHD_invert.c + intern/SHD_nodes/SHD_mapping.c + intern/SHD_nodes/SHD_material.c + intern/SHD_nodes/SHD_math.c + intern/SHD_nodes/SHD_mixRgb.c + intern/SHD_nodes/SHD_normal.c + intern/SHD_nodes/SHD_output.c + intern/SHD_nodes/SHD_rgb.c + intern/SHD_nodes/SHD_sepcombRGB.c + intern/SHD_nodes/SHD_squeeze.c + intern/SHD_nodes/SHD_texture.c + intern/SHD_nodes/SHD_valToRgb.c + intern/SHD_nodes/SHD_value.c + intern/SHD_nodes/SHD_vectMath.c + intern/SHD_util.c + intern/TEX_nodes/TEX_at.c + intern/TEX_nodes/TEX_bricks.c + intern/TEX_nodes/TEX_checker.c + intern/TEX_nodes/TEX_compose.c + intern/TEX_nodes/TEX_coord.c + intern/TEX_nodes/TEX_curves.c + intern/TEX_nodes/TEX_decompose.c + intern/TEX_nodes/TEX_distance.c + intern/TEX_nodes/TEX_hueSatVal.c + intern/TEX_nodes/TEX_image.c + intern/TEX_nodes/TEX_invert.c + intern/TEX_nodes/TEX_math.c + intern/TEX_nodes/TEX_mixRgb.c + intern/TEX_nodes/TEX_output.c + intern/TEX_nodes/TEX_proc.c + intern/TEX_nodes/TEX_rotate.c + intern/TEX_nodes/TEX_scale.c + intern/TEX_nodes/TEX_texture.c + intern/TEX_nodes/TEX_translate.c + intern/TEX_nodes/TEX_valToNor.c + intern/TEX_nodes/TEX_valToRgb.c + intern/TEX_nodes/TEX_viewer.c + intern/TEX_util.c + intern/node_util.c +) + IF(WIN32) LIST(APPEND INC ${PTHREADS_INC}) ENDIF(WIN32) diff --git a/source/blender/python/CMakeLists.txt b/source/blender/python/CMakeLists.txt index adb60528f51..3ffdb46e72e 100644 --- a/source/blender/python/CMakeLists.txt +++ b/source/blender/python/CMakeLists.txt @@ -25,8 +25,6 @@ ADD_SUBDIRECTORY(generic) -FILE(GLOB SRC intern/*.c) - SET(INC . ../blenlib @@ -40,6 +38,21 @@ SET(INC ${PYTHON_INC} ) +SET(SRC + intern/bpy.c + intern/bpy_app.c + intern/bpy_array.c + intern/bpy_driver.c + intern/bpy_interface.c + intern/bpy_operator.c + intern/bpy_operator_wrap.c + intern/bpy_props.c + intern/bpy_rna.c + intern/bpy_rna_callback.c + intern/bpy_util.c + intern/stubs.c +) + # only to check if buildinfo is available IF(WITH_BUILDINFO) ADD_DEFINITIONS(-DBUILD_DATE) diff --git a/source/blender/python/generic/CMakeLists.txt b/source/blender/python/generic/CMakeLists.txt index 1a91abfbec8..4ac3fc36ebd 100644 --- a/source/blender/python/generic/CMakeLists.txt +++ b/source/blender/python/generic/CMakeLists.txt @@ -18,8 +18,6 @@ # # ***** END GPL LICENSE BLOCK ***** -FILE(GLOB SRC *.c) - SET(INC . ../../blenlib @@ -31,4 +29,20 @@ SET(INC ${PYTHON_INC} ) +SET(SRC + IDProp.c + bgl.c + blf_api.c + bpy_internal_import.c + geometry.c + mathutils.c + mathutils_color.c + mathutils_euler.c + mathutils_matrix.c + mathutils_quat.c + mathutils_vector.c + noise.c + py_capi_utils.c +) + BLENDERLIB(bf_python_ext "${SRC}" "${INC}") diff --git a/source/blender/readblenfile/CMakeLists.txt b/source/blender/readblenfile/CMakeLists.txt index a6522ffa758..0917599f3d4 100644 --- a/source/blender/readblenfile/CMakeLists.txt +++ b/source/blender/readblenfile/CMakeLists.txt @@ -24,10 +24,18 @@ # # ***** END GPL LICENSE BLOCK ***** -FILE(GLOB SRC intern/*.c) - SET(INC - . ../blenloader ../blenloader/intern ../blenkernel ../blenlib ../makesdna ../../kernel/gen_messaging + . + ../blenloader + ../blenloader/intern + ../blenkernel + ../blenlib + ../makesdna + ../../kernel/gen_messaging +) + +SET(SRC + intern/BLO_readblenfile.c ) BLENDERLIB(bf_readblenfile "${SRC}" "${INC}") diff --git a/source/blender/render/CMakeLists.txt b/source/blender/render/CMakeLists.txt index e6478098dad..f2da8f4d13e 100644 --- a/source/blender/render/CMakeLists.txt +++ b/source/blender/render/CMakeLists.txt @@ -27,8 +27,6 @@ # remove warning until render branch merged. STRING(REGEX REPLACE "-Wunused-parameter" "" CMAKE_C_FLAGS ${CMAKE_C_FLAGS}) -FILE(GLOB SRC intern/source/*.c intern/raytrace/*.cpp) - SET(INC intern/include extern/include @@ -44,6 +42,42 @@ SET(INC ../../../intern/guardedalloc ) +SET(SRC + intern/raytrace/rayobject.cpp + intern/raytrace/rayobject_qbvh.cpp + intern/raytrace/rayobject_rtbuild.cpp + intern/raytrace/rayobject_svbvh.cpp + intern/raytrace/rayobject_vbvh.cpp + intern/source/convertblender.c + intern/source/envmap.c + intern/source/gammaCorrectionTables.c + intern/source/imagetexture.c + intern/source/initrender.c + intern/source/occlusion.c + intern/source/pipeline.c + intern/source/pixelblending.c + intern/source/pixelshading.c + intern/source/pointdensity.c + intern/source/rayobject_blibvh.c + intern/source/rayobject_instance.c + intern/source/rayobject_octree.c + intern/source/rayobject_raycounter.c + intern/source/rayshade.c + intern/source/rendercore.c + intern/source/renderdatabase.c + intern/source/shadbuf.c + intern/source/shadeinput.c + intern/source/shadeoutput.c + intern/source/sss.c + intern/source/strand.c + intern/source/sunsky.c + intern/source/texture.c + intern/source/volume_precache.c + intern/source/volumetric.c + intern/source/voxeldata.c + intern/source/zbuf.c +) + IF(WIN32) LIST(APPEND INC ${PTHREADS_INC}) ENDIF(WIN32) diff --git a/source/blender/windowmanager/CMakeLists.txt b/source/blender/windowmanager/CMakeLists.txt index 1919bf8e571..36d9f2b5c8c 100644 --- a/source/blender/windowmanager/CMakeLists.txt +++ b/source/blender/windowmanager/CMakeLists.txt @@ -24,8 +24,6 @@ # # ***** END GPL LICENSE BLOCK ***** -FILE(GLOB SRC intern/*.c) - SET(INC . ../nodes @@ -50,6 +48,23 @@ SET(INC ${OPENGL_INCLUDE_DIR} ) +SET(SRC + intern/wm.c + intern/wm_apple.c + intern/wm_cursors.c + intern/wm_dragdrop.c + intern/wm_draw.c + intern/wm_event_system.c + intern/wm_files.c + intern/wm_gesture.c + intern/wm_init_exit.c + intern/wm_jobs.c + intern/wm_keymap.c + intern/wm_operators.c + intern/wm_subwindow.c + intern/wm_window.c +) + ADD_DEFINITIONS(-DGLEW_STATIC) IF(WITH_INTERNATIONAL) diff --git a/source/blenderplayer/bad_level_call_stubs/CMakeLists.txt b/source/blenderplayer/bad_level_call_stubs/CMakeLists.txt index 473cc823f12..a40c0f19725 100644 --- a/source/blenderplayer/bad_level_call_stubs/CMakeLists.txt +++ b/source/blenderplayer/bad_level_call_stubs/CMakeLists.txt @@ -27,13 +27,6 @@ # this warning on generated files gets annoying STRING(REGEX REPLACE "-Wunused-parameter" "" CMAKE_C_FLAGS ${CMAKE_C_FLAGS}) -FILE(GLOB SRC stubs.c) - -IF(WITH_BUILDINFO) - ADD_DEFINITIONS(-DBUILD_DATE) - FILE(GLOB SRC ${SRC} ../../creator/buildinfo.c) -ENDIF(WITH_BUILDINFO) - SET(INC . .. @@ -43,6 +36,17 @@ SET(INC ../../../source/blender/blenkernel ) +SET(SRC + stubs.c +) + +IF(WITH_BUILDINFO) + ADD_DEFINITIONS(-DBUILD_DATE) + LIST(APPEND SRC + ../../creator/buildinfo.c + ) +ENDIF(WITH_BUILDINFO) + IF(WITH_GAMEENGINE) ADD_DEFINITIONS(-DGAMEBLENDER) ENDIF(WITH_GAMEENGINE) diff --git a/source/gameengine/BlenderRoutines/CMakeLists.txt b/source/gameengine/BlenderRoutines/CMakeLists.txt index 853cba543a4..661f9c5b25d 100644 --- a/source/gameengine/BlenderRoutines/CMakeLists.txt +++ b/source/gameengine/BlenderRoutines/CMakeLists.txt @@ -1,6 +1,4 @@ -FILE(GLOB SRC *.cpp) - SET(INC . ../../../source/kernel/gen_system @@ -37,6 +35,17 @@ SET(INC ../../../extern/glew/include ) +SET(SRC + BL_KetsjiEmbedStart.cpp + KX_BlenderCanvas.cpp + KX_BlenderGL.cpp + KX_BlenderInputDevice.cpp + KX_BlenderKeyboardDevice.cpp + KX_BlenderMouseDevice.cpp + KX_BlenderRenderTools.cpp + KX_BlenderSystem.cpp +) + ADD_DEFINITIONS(-DGLEW_STATIC) IF(WITH_FFMPEG) diff --git a/source/gameengine/Converter/CMakeLists.txt b/source/gameengine/Converter/CMakeLists.txt index 87e413c3a44..e6b5f6c81a0 100644 --- a/source/gameengine/Converter/CMakeLists.txt +++ b/source/gameengine/Converter/CMakeLists.txt @@ -24,8 +24,6 @@ # # ***** END GPL LICENSE BLOCK ***** -FILE(GLOB SRC *.cpp) - SET(INC . ../../../source/kernel/gen_system @@ -63,6 +61,30 @@ SET(INC ../../../extern/bullet2/src ) +SET(SRC + BL_ActionActuator.cpp + BL_ArmatureActuator.cpp + BL_ArmatureChannel.cpp + BL_ArmatureConstraint.cpp + BL_ArmatureObject.cpp + BL_BlenderDataConversion.cpp + BL_DeformableGameObject.cpp + BL_MeshDeformer.cpp + BL_ModifierDeformer.cpp + BL_ShapeActionActuator.cpp + BL_ShapeDeformer.cpp + BL_SkinDeformer.cpp + BlenderWorldInfo.cpp + KX_BlenderScalarInterpolator.cpp + KX_BlenderSceneConverter.cpp + KX_ConvertActuators.cpp + KX_ConvertControllers.cpp + KX_ConvertProperties.cpp + KX_ConvertSensors.cpp + KX_IpoConvert.cpp + KX_SoftBodyDeformer.cpp +) + IF(WITH_PYTHON) LIST(APPEND INC ${PYTHON_INC}) ELSE(WITH_PYTHON) diff --git a/source/gameengine/Expressions/CMakeLists.txt b/source/gameengine/Expressions/CMakeLists.txt index 126192d2188..828afa7ae92 100644 --- a/source/gameengine/Expressions/CMakeLists.txt +++ b/source/gameengine/Expressions/CMakeLists.txt @@ -24,8 +24,6 @@ # # ***** END GPL LICENSE BLOCK ***** -FILE(GLOB SRC *.cpp) - SET(INC . ../../../source/kernel/gen_system @@ -36,6 +34,28 @@ SET(INC ../../../source/blender/blenloader ) +SET(SRC + BoolValue.cpp + ConstExpr.cpp + EXP_C-Api.cpp + EmptyValue.cpp + ErrorValue.cpp + Expression.cpp + FloatValue.cpp + IdentifierExpr.cpp + IfExpr.cpp + InputParser.cpp + IntValue.cpp + KX_HashedPtr.cpp + ListValue.cpp + Operator1Expr.cpp + Operator2Expr.cpp + PyObjectPlus.cpp + StringValue.cpp + Value.cpp + VectorValue.cpp +) + IF(WITH_PYTHON) LIST(APPEND INC ${PYTHON_INC}) ELSE(WITH_PYTHON) diff --git a/source/gameengine/GameLogic/CMakeLists.txt b/source/gameengine/GameLogic/CMakeLists.txt index 84d915847e9..57150a90e99 100644 --- a/source/gameengine/GameLogic/CMakeLists.txt +++ b/source/gameengine/GameLogic/CMakeLists.txt @@ -24,8 +24,6 @@ # # ***** END GPL LICENSE BLOCK ***** -FILE(GLOB SRC *.cpp Joystick/*.cpp) - SET(INC . ../../../source/kernel/gen_system @@ -36,6 +34,51 @@ SET(INC ../../../source/gameengine/Rasterizer ) +SET(SRC + Joystick/SCA_Joystick.cpp + Joystick/SCA_JoystickEvents.cpp + SCA_2DFilterActuator.cpp + SCA_ANDController.cpp + SCA_ActuatorEventManager.cpp + SCA_ActuatorSensor.cpp + SCA_AlwaysEventManager.cpp + SCA_AlwaysSensor.cpp + SCA_BasicEventManager.cpp + SCA_DelaySensor.cpp + SCA_EventManager.cpp + SCA_ExpressionController.cpp + SCA_IActuator.cpp + SCA_IController.cpp + SCA_IInputDevice.cpp + SCA_ILogicBrick.cpp + SCA_IObject.cpp + SCA_IScene.cpp + SCA_ISensor.cpp + SCA_JoystickManager.cpp + SCA_JoystickSensor.cpp + SCA_KeyboardManager.cpp + SCA_KeyboardSensor.cpp + SCA_LogicManager.cpp + SCA_MouseManager.cpp + SCA_MouseSensor.cpp + SCA_NANDController.cpp + SCA_NORController.cpp + SCA_ORController.cpp + SCA_PropertyActuator.cpp + SCA_PropertyEventManager.cpp + SCA_PropertySensor.cpp + SCA_PythonController.cpp + SCA_PythonKeyboard.cpp + SCA_PythonMouse.cpp + SCA_RandomActuator.cpp + SCA_RandomEventManager.cpp + SCA_RandomNumberGenerator.cpp + SCA_RandomSensor.cpp + SCA_TimeEventManager.cpp + SCA_XNORController.cpp + SCA_XORController.cpp +) + IF(WITH_SDL) SET(INC ${INC} ${SDL_INCLUDE_DIR}) ELSE(WITH_SDL) diff --git a/source/gameengine/GamePlayer/common/CMakeLists.txt b/source/gameengine/GamePlayer/common/CMakeLists.txt index 08a4aa50a00..47ac7f73a51 100644 --- a/source/gameengine/GamePlayer/common/CMakeLists.txt +++ b/source/gameengine/GamePlayer/common/CMakeLists.txt @@ -24,19 +24,6 @@ # # ***** END GPL LICENSE BLOCK ***** -SET(SRC - bmfont.cpp - GPC_Canvas.cpp - GPC_Engine.cpp - GPC_KeyboardDevice.cpp - GPC_MouseDevice.cpp - GPC_RawImage.cpp - GPC_RawLoadDotBlendArray.cpp - GPC_RawLogoArrays.cpp - GPC_RenderTools.cpp - GPC_System.cpp -) - SET(INC . ../../../../intern/string @@ -71,6 +58,19 @@ SET(INC ${ZLIB_INC} ) +SET(SRC + bmfont.cpp + GPC_Canvas.cpp + GPC_Engine.cpp + GPC_KeyboardDevice.cpp + GPC_MouseDevice.cpp + GPC_RawImage.cpp + GPC_RawLoadDotBlendArray.cpp + GPC_RawLogoArrays.cpp + GPC_RenderTools.cpp + GPC_System.cpp +) + ADD_DEFINITIONS(-DGLEW_STATIC) BLENDERLIB_NOLIST(gp_common "${SRC}" "${INC}") diff --git a/source/gameengine/GamePlayer/ghost/CMakeLists.txt b/source/gameengine/GamePlayer/ghost/CMakeLists.txt index 8164878762c..6ce9f7be280 100644 --- a/source/gameengine/GamePlayer/ghost/CMakeLists.txt +++ b/source/gameengine/GamePlayer/ghost/CMakeLists.txt @@ -24,14 +24,6 @@ # # ***** END GPL LICENSE BLOCK ***** -SET(SRC - GPG_Application.cpp - GPG_Canvas.cpp - GPG_ghost.cpp - GPG_KeyboardDevice.cpp - GPG_System.cpp -) - SET(INC . ../../../../intern/string @@ -66,6 +58,14 @@ SET(INC ${PYTHON_INC} ) +SET(SRC + GPG_Application.cpp + GPG_Canvas.cpp + GPG_ghost.cpp + GPG_KeyboardDevice.cpp + GPG_System.cpp +) + ADD_DEFINITIONS(-DGLEW_STATIC) IF(WITH_FFMPEG) diff --git a/source/gameengine/Ketsji/CMakeLists.txt b/source/gameengine/Ketsji/CMakeLists.txt index b128f33c6e4..68f0a0de994 100644 --- a/source/gameengine/Ketsji/CMakeLists.txt +++ b/source/gameengine/Ketsji/CMakeLists.txt @@ -24,8 +24,6 @@ # # ***** END GPL LICENSE BLOCK ***** -FILE(GLOB SRC *.cpp) - SET(INC . ../../../source/kernel/gen_system @@ -59,6 +57,76 @@ SET(INC ../../../extern/glew/include ) +SET(SRC + BL_BlenderShader.cpp + BL_Material.cpp + BL_Shader.cpp + BL_Texture.cpp + KX_ArmatureSensor.cpp + KX_BlenderMaterial.cpp + KX_BulletPhysicsController.cpp + KX_Camera.cpp + KX_CameraActuator.cpp + KX_CameraIpoSGController.cpp + KX_ConstraintActuator.cpp + KX_ConstraintWrapper.cpp + KX_ConvertPhysicsObjects.cpp + KX_Dome.cpp + KX_EmptyObject.cpp + KX_GameActuator.cpp + KX_GameObject.cpp + KX_IPO_SGController.cpp + KX_IPhysicsController.cpp + KX_IpoActuator.cpp + KX_KetsjiEngine.cpp + KX_Light.cpp + KX_LightIpoSGController.cpp + KX_MaterialIpoController.cpp + KX_MeshProxy.cpp + KX_MotionState.cpp + KX_MouseFocusSensor.cpp + KX_NearSensor.cpp + KX_ObColorIpoSGController.cpp + KX_ObjectActuator.cpp + KX_OrientationInterpolator.cpp + KX_ParentActuator.cpp + KX_PhysicsObjectWrapper.cpp + KX_PolyProxy.cpp + KX_PolygonMaterial.cpp + KX_PositionInterpolator.cpp + KX_PyConstraintBinding.cpp + KX_PyMath.cpp + KX_PythonInit.cpp + KX_PythonInitTypes.cpp + KX_PythonSeq.cpp + KX_RadarSensor.cpp + KX_RayCast.cpp + KX_RayEventManager.cpp + KX_RaySensor.cpp + KX_SCA_AddObjectActuator.cpp + KX_SCA_DynamicActuator.cpp + KX_SCA_EndObjectActuator.cpp + KX_SCA_ReplaceMeshActuator.cpp + KX_SG_BoneParentNodeRelationship.cpp + KX_SG_NodeRelationships.cpp + KX_ScalarInterpolator.cpp + KX_ScalingInterpolator.cpp + KX_Scene.cpp + KX_SceneActuator.cpp + KX_SoundActuator.cpp + KX_StateActuator.cpp + KX_TimeCategoryLogger.cpp + KX_TimeLogger.cpp + KX_TouchEventManager.cpp + KX_TouchSensor.cpp + KX_TrackToActuator.cpp + KX_VehicleWrapper.cpp + KX_VertexProxy.cpp + KX_VisibilityActuator.cpp + KX_WorldInfo.cpp + KX_WorldIpoController.cpp +) + ADD_DEFINITIONS(-DGLEW_STATIC) IF(WITH_SDL) diff --git a/source/gameengine/Ketsji/KXNetwork/CMakeLists.txt b/source/gameengine/Ketsji/KXNetwork/CMakeLists.txt index 106d1a84a92..2b1c1a698f3 100644 --- a/source/gameengine/Ketsji/KXNetwork/CMakeLists.txt +++ b/source/gameengine/Ketsji/KXNetwork/CMakeLists.txt @@ -24,8 +24,6 @@ # # ***** END GPL LICENSE BLOCK ***** -FILE(GLOB SRC *.cpp) - SET(INC . ../../../../source/kernel/gen_system @@ -38,6 +36,14 @@ SET(INC ../../../../source/gameengine/Network ) +SET(SRC + KX_NetworkEventManager.cpp + KX_NetworkMessageActuator.cpp + KX_NetworkMessageSensor.cpp + KX_NetworkObjectActuator.cpp + KX_NetworkObjectSensor.cpp +) + IF(WITH_PYTHON) LIST(APPEND INC ${PYTHON_INC}) ELSE(WITH_PYTHON) diff --git a/source/gameengine/Network/CMakeLists.txt b/source/gameengine/Network/CMakeLists.txt index 795e63b47c3..3dde84d29c1 100644 --- a/source/gameengine/Network/CMakeLists.txt +++ b/source/gameengine/Network/CMakeLists.txt @@ -24,8 +24,6 @@ # # ***** END GPL LICENSE BLOCK ***** -FILE(GLOB SRC *.cpp) - SET(INC . ../../../source/kernel/gen_system @@ -33,4 +31,10 @@ SET(INC ../../../intern/moto/include ) +SET(SRC + NG_NetworkMessage.cpp + NG_NetworkObject.cpp + NG_NetworkScene.cpp +) + BLENDERLIB(bf_ngnetwork "${SRC}" "${INC}") diff --git a/source/gameengine/Network/LoopBackNetwork/CMakeLists.txt b/source/gameengine/Network/LoopBackNetwork/CMakeLists.txt index e7c34f5a2a0..eae2971ce6a 100644 --- a/source/gameengine/Network/LoopBackNetwork/CMakeLists.txt +++ b/source/gameengine/Network/LoopBackNetwork/CMakeLists.txt @@ -24,8 +24,6 @@ # # ***** END GPL LICENSE BLOCK ***** -SET(SRC NG_LoopBackNetworkDeviceInterface.cpp) - SET(INC . ../../../../source/kernel/gen_system @@ -33,4 +31,8 @@ SET(INC ../../../../source/gameengine/Network ) +SET(SRC + NG_LoopBackNetworkDeviceInterface.cpp +) + BLENDERLIB(bf_loopbacknetwork "${SRC}" "${INC}") diff --git a/source/gameengine/Physics/Bullet/CMakeLists.txt b/source/gameengine/Physics/Bullet/CMakeLists.txt index ba6f3bef0db..faa9385a745 100644 --- a/source/gameengine/Physics/Bullet/CMakeLists.txt +++ b/source/gameengine/Physics/Bullet/CMakeLists.txt @@ -24,8 +24,6 @@ # # ***** END GPL LICENSE BLOCK ***** -SET(SRC CcdPhysicsEnvironment.cpp CcdPhysicsController.cpp CcdGraphicController.cpp) - SET(INC . ../common @@ -46,6 +44,12 @@ SET(INC ${PYTHON_INC} ) +SET(SRC + CcdPhysicsEnvironment.cpp + CcdPhysicsController.cpp + CcdGraphicController.cpp +) + IF(WITH_BULLET) ADD_DEFINITIONS(-DUSE_BULLET) ENDIF(WITH_BULLET) diff --git a/source/gameengine/Physics/Dummy/CMakeLists.txt b/source/gameengine/Physics/Dummy/CMakeLists.txt index 18330392cd7..501fbcd94de 100644 --- a/source/gameengine/Physics/Dummy/CMakeLists.txt +++ b/source/gameengine/Physics/Dummy/CMakeLists.txt @@ -24,11 +24,13 @@ # # ***** END GPL LICENSE BLOCK ***** -SET(SRC DummyPhysicsEnvironment.cpp) - SET(INC . ../common ) +SET(SRC + DummyPhysicsEnvironment.cpp +) + BLENDERLIB(bf_dummy "${SRC}" "${INC}") diff --git a/source/gameengine/Physics/common/CMakeLists.txt b/source/gameengine/Physics/common/CMakeLists.txt index 0f8f59f3b78..0389280340f 100644 --- a/source/gameengine/Physics/common/CMakeLists.txt +++ b/source/gameengine/Physics/common/CMakeLists.txt @@ -24,12 +24,19 @@ # # ***** END GPL LICENSE BLOCK ***** -SET(SRC PHY_IMotionState.cpp PHY_IController.cpp PHY_IPhysicsController.cpp PHY_IGraphicController.cpp PHY_IPhysicsEnvironment.cpp PHY_IVehicle.cpp) - SET(INC . ../Dummy ../../../intern/moto/include ) +SET(SRC + PHY_IMotionState.cpp + PHY_IController.cpp + PHY_IPhysicsController.cpp + PHY_IGraphicController.cpp + PHY_IPhysicsEnvironment.cpp + PHY_IVehicle.cpp +) + BLENDERLIB(bf_common "${SRC}" "${INC}") diff --git a/source/gameengine/Rasterizer/CMakeLists.txt b/source/gameengine/Rasterizer/CMakeLists.txt index d718bf3e507..9bbf7e144d5 100644 --- a/source/gameengine/Rasterizer/CMakeLists.txt +++ b/source/gameengine/Rasterizer/CMakeLists.txt @@ -24,8 +24,6 @@ # # ***** END GPL LICENSE BLOCK ***** -FILE(GLOB SRC *.cpp) - SET(INC . ../../../source/kernel/gen_system @@ -40,6 +38,19 @@ SET(INC ${PYTHON_INC} ) +SET(SRC + RAS_2DFilterManager.cpp + RAS_BucketManager.cpp + RAS_FramingManager.cpp + RAS_IPolygonMaterial.cpp + RAS_IRenderTools.cpp + RAS_MaterialBucket.cpp + RAS_MeshObject.cpp + RAS_Polygon.cpp + RAS_TexVert.cpp + RAS_texmatrix.cpp +) + ADD_DEFINITIONS(-DGLEW_STATIC) BLENDERLIB(bf_rasterizer "${SRC}" "${INC}") diff --git a/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/CMakeLists.txt b/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/CMakeLists.txt index cc48952dc20..a89faae3c73 100644 --- a/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/CMakeLists.txt +++ b/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/CMakeLists.txt @@ -24,8 +24,6 @@ # # ***** END GPL LICENSE BLOCK ***** -FILE(GLOB SRC *.cpp) - SET(INC ../../../../source/kernel/gen_system ../../../../intern/string @@ -41,6 +39,13 @@ SET(INC ../../../../source/blender/blenloader ) +SET(SRC + RAS_GLExtensionManager.cpp + RAS_ListRasterizer.cpp + RAS_OpenGLRasterizer.cpp + RAS_VAOpenGLRasterizer.cpp +) + ADD_DEFINITIONS(-DGLEW_STATIC) BLENDERLIB(bf_oglrasterizer "${SRC}" "${INC}") diff --git a/source/gameengine/SceneGraph/CMakeLists.txt b/source/gameengine/SceneGraph/CMakeLists.txt index a73130531c0..d1b207b6efa 100644 --- a/source/gameengine/SceneGraph/CMakeLists.txt +++ b/source/gameengine/SceneGraph/CMakeLists.txt @@ -24,11 +24,18 @@ # # ***** END GPL LICENSE BLOCK ***** -FILE(GLOB SRC *.cpp) - SET(INC . ../../../intern/moto/include ) +SET(SRC + SG_BBox.cpp + SG_Controller.cpp + SG_IObject.cpp + SG_Node.cpp + SG_Spatial.cpp + SG_Tree.cpp +) + BLENDERLIB(bf_scenegraph "${SRC}" "${INC}") diff --git a/source/gameengine/VideoTexture/CMakeLists.txt b/source/gameengine/VideoTexture/CMakeLists.txt index 34a32328e29..1c624482d30 100644 --- a/source/gameengine/VideoTexture/CMakeLists.txt +++ b/source/gameengine/VideoTexture/CMakeLists.txt @@ -24,8 +24,6 @@ # # ***** END GPL LICENSE BLOCK ***** -FILE(GLOB SRC *.cpp) - SET(INC . ../../../source/gameengine/Ketsji @@ -51,6 +49,25 @@ SET(INC ../../../extern/glew/include ) +SET(SRC + Exception.cpp + FilterBase.cpp + FilterBlueScreen.cpp + FilterColor.cpp + FilterNormal.cpp + FilterSource.cpp + ImageBase.cpp + ImageBuff.cpp + ImageMix.cpp + ImageRender.cpp + ImageViewport.cpp + PyTypeList.cpp + Texture.cpp + VideoBase.cpp + VideoFFmpeg.cpp + blendVideoTex.cpp +) + IF(WITH_FFMPEG) SET(INC ${INC} ${FFMPEG_INC} ${PTHREADS_INC}) ADD_DEFINITIONS(-DWITH_FFMPEG) diff --git a/source/kernel/CMakeLists.txt b/source/kernel/CMakeLists.txt index 66d14014587..1665a3c1525 100644 --- a/source/kernel/CMakeLists.txt +++ b/source/kernel/CMakeLists.txt @@ -32,7 +32,7 @@ SET(INC ../../source/blender/blenloader ) -FILE(GLOB SRC +SET(SRC gen_messaging/intern/messaging.c gen_system/GEN_HashedPtr.cpp gen_system/GEN_Matrix4x4.cpp -- cgit v1.2.3 From f4415ce84a71964d90c53dfe8f219444e78e80aa Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Sat, 23 Oct 2010 04:18:53 +0000 Subject: - CMake now only uses SOURCE_GROUP with MSVC lib configuration, saves recursive header search when not using msvc. - uv layout export wasn't setting the default filename. --- build_files/cmake/macros.cmake | 63 ++++++++++++++--------- release/scripts/op/uv.py | 2 + source/blenderplayer/bad_level_call_stubs/stubs.c | 1 + 3 files changed, 42 insertions(+), 24 deletions(-) diff --git a/build_files/cmake/macros.cmake b/build_files/cmake/macros.cmake index 08a571cceaf..9237f01a950 100644 --- a/build_files/cmake/macros.cmake +++ b/build_files/cmake/macros.cmake @@ -1,30 +1,45 @@ -MACRO(BLENDERLIB_NOLIST - name - sources - includes) - # Gather all headers - FILE(GLOB_RECURSE INC_ALL *.h) - - INCLUDE_DIRECTORIES(${includes}) - ADD_LIBRARY(${name} ${INC_ALL} ${sources}) +IF(MSVC) + # only MSVC uses SOURCE_GROUP + MACRO(BLENDERLIB_NOLIST + name + sources + includes) + + MESSAGE(STATUS "Configuring library ${name}") + + # Gather all headers + FILE(GLOB_RECURSE INC_ALL *.h) + + INCLUDE_DIRECTORIES(${includes}) + ADD_LIBRARY(${name} ${INC_ALL} ${sources}) + + # Group by location on disk + SOURCE_GROUP(Files FILES CMakeLists.txt) + SET(ALL_FILES ${sources} ${INC_ALL}) + FOREACH(SRC ${ALL_FILES}) + STRING(REGEX REPLACE ${CMAKE_CURRENT_SOURCE_DIR} "Files" REL_DIR "${SRC}") + STRING(REGEX REPLACE "[\\\\/][^\\\\/]*$" "" REL_DIR "${REL_DIR}") + STRING(REGEX REPLACE "^[\\\\/]" "" REL_DIR "${REL_DIR}") + IF(REL_DIR) + SOURCE_GROUP(${REL_DIR} FILES ${SRC}) + ELSE(REL_DIR) + SOURCE_GROUP(Files FILES ${SRC}) + ENDIF(REL_DIR) + ENDFOREACH(SRC) + ENDMACRO(BLENDERLIB_NOLIST) +ELSE(MSVC) - # Group by location on disk - SOURCE_GROUP(Files FILES CMakeLists.txt) - SET(ALL_FILES ${sources} ${INC_ALL}) - FOREACH(SRC ${ALL_FILES}) - STRING(REGEX REPLACE ${CMAKE_CURRENT_SOURCE_DIR} "Files" REL_DIR "${SRC}") - STRING(REGEX REPLACE "[\\\\/][^\\\\/]*$" "" REL_DIR "${REL_DIR}") - STRING(REGEX REPLACE "^[\\\\/]" "" REL_DIR "${REL_DIR}") - IF(REL_DIR) - SOURCE_GROUP(${REL_DIR} FILES ${SRC}) - ELSE(REL_DIR) - SOURCE_GROUP(Files FILES ${SRC}) - ENDIF(REL_DIR) - ENDFOREACH(SRC) + MACRO(BLENDERLIB_NOLIST + name + sources + includes) - MESSAGE(STATUS "Configuring library ${name}") -ENDMACRO(BLENDERLIB_NOLIST) + MESSAGE(STATUS "Configuring library ${name}") + INCLUDE_DIRECTORIES(${includes}) + ADD_LIBRARY(${name} ${sources}) + ENDMACRO(BLENDERLIB_NOLIST) +ENDIF(MSVC) MACRO(BLENDERLIB name diff --git a/release/scripts/op/uv.py b/release/scripts/op/uv.py index 17520ff6d77..597421f305a 100644 --- a/release/scripts/op/uv.py +++ b/release/scripts/op/uv.py @@ -355,7 +355,9 @@ class ExportUVLayout(bpy.types.Operator): def invoke(self, context, event): + import os self.size = self._image_size(context) + self.filepath = os.path.splitext(bpy.data.filepath)[0] wm = context.window_manager wm.add_fileselect(self) return {'RUNNING_MODAL'} diff --git a/source/blenderplayer/bad_level_call_stubs/stubs.c b/source/blenderplayer/bad_level_call_stubs/stubs.c index ace58791d74..f2970293b05 100644 --- a/source/blenderplayer/bad_level_call_stubs/stubs.c +++ b/source/blenderplayer/bad_level_call_stubs/stubs.c @@ -89,6 +89,7 @@ struct wmKeyMap; struct wmOperator; struct wmWindowManager; struct View3D; +struct ToolSettings; /*new render funcs */ -- cgit v1.2.3 From 563e3c94052aab05ae20e85951cbd86acbb02819 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Sat, 23 Oct 2010 10:06:40 +0000 Subject: rename rna property Bone.use_hinge to use_inherit_rotate because use_hinge was inverted - Enabled by default but not a hinge. this also matches 'use_inherit_scale' --- release/scripts/op/animsys_update.py | 1 + release/scripts/ui/properties_data_bone.py | 2 +- source/blender/makesrna/intern/rna_armature.c | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/release/scripts/op/animsys_update.py b/release/scripts/op/animsys_update.py index 8ae299e4e77..7392030f62e 100644 --- a/release/scripts/op/animsys_update.py +++ b/release/scripts/op/animsys_update.py @@ -367,6 +367,7 @@ data_path_update = [ ("PoseBone", "ik_limit_z", "use_ik_limit_z"), ("PoseBone", "ik_lin_control", "use_ik_linear_control"), ("PoseBone", "ik_rot_control", "use_ik_rotation_control"), + ("Bone", "use_hinge", "use_inherit_rotate"), ("SPHFluidSettings", "spring_k", "spring_force"), ("SPHFluidSettings", "stiffness_k", "stiffness"), ("SPHFluidSettings", "stiffness_knear", "stiffness_near"), diff --git a/release/scripts/ui/properties_data_bone.py b/release/scripts/ui/properties_data_bone.py index 3ed05d914ed..a9defd7217f 100644 --- a/release/scripts/ui/properties_data_bone.py +++ b/release/scripts/ui/properties_data_bone.py @@ -163,7 +163,7 @@ class BONE_PT_relations(BoneButtonsPanel, bpy.types.Panel): sub = col.column() sub.active = (bone.parent is not None) sub.prop(bone, "use_connect") - sub.prop(bone, "use_hinge", text="Inherit Rotation") + sub.prop(bone, "use_inherit_rotate", text="Inherit Rotation") sub.prop(bone, "use_inherit_scale", text="Inherit Scale") sub = col.column() sub.active = (not bone.parent or not bone.use_connect) diff --git a/source/blender/makesrna/intern/rna_armature.c b/source/blender/makesrna/intern/rna_armature.c index d42cf625898..ad1d8d3bf7f 100644 --- a/source/blender/makesrna/intern/rna_armature.c +++ b/source/blender/makesrna/intern/rna_armature.c @@ -414,7 +414,7 @@ static void rna_def_bone_common(StructRNA *srna, int editbone) RNA_def_property_ui_text(prop, "Connected", "When bone has a parent, bone's head is struck to the parent's tail"); RNA_def_property_update(prop, 0, "rna_Armature_update_data"); - prop= RNA_def_property(srna, "use_hinge", PROP_BOOLEAN, PROP_NONE); + prop= RNA_def_property(srna, "use_inherit_rotate", PROP_BOOLEAN, PROP_NONE); RNA_def_property_boolean_negative_sdna(prop, NULL, "flag", BONE_HINGE); RNA_def_property_ui_text(prop, "Inherit Rotation", "Bone inherits rotation or scale from parent bone"); RNA_def_property_update(prop, 0, "rna_Armature_update_data"); -- cgit v1.2.3 From 06385cfc9d8e69a31afde0e25e7acdf9bcf268dd Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Sat, 23 Oct 2010 10:41:28 +0000 Subject: Fix #24363: trying to separate mesh with shape keys didn't display warning when it failed due to there being shape keys. --- source/blender/editors/mesh/editmesh.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/source/blender/editors/mesh/editmesh.c b/source/blender/editors/mesh/editmesh.c index 80df034552d..a74a136ae66 100644 --- a/source/blender/editors/mesh/editmesh.c +++ b/source/blender/editors/mesh/editmesh.c @@ -1324,7 +1324,7 @@ static EnumPropertyItem prop_separate_types[] = { }; /* return 1: success */ -static int mesh_separate_selected(Main *bmain, Scene *scene, Base *editbase) +static int mesh_separate_selected(wmOperator *op, Main *bmain, Scene *scene, Base *editbase) { EditMesh *em, *emnew; EditVert *eve, *v1; @@ -1340,7 +1340,7 @@ static int mesh_separate_selected(Main *bmain, Scene *scene, Base *editbase) me= obedit->data; em= BKE_mesh_get_editmesh(me); if(me->key) { - error("Can't separate with vertex keys"); + BKE_report(op->reports, RPT_WARNING, "Can't separate mesh with shape keys."); BKE_mesh_end_editmesh(me, em); return 0; } @@ -1435,7 +1435,7 @@ static int mesh_separate_selected(Main *bmain, Scene *scene, Base *editbase) } /* return 1: success */ -static int mesh_separate_material(Main *bmain, Scene *scene, Base *editbase) +static int mesh_separate_material(wmOperator *op, Main *bmain, Scene *scene, Base *editbase) { Mesh *me= editbase->object->data; EditMesh *em= BKE_mesh_get_editmesh(me); @@ -1447,7 +1447,7 @@ static int mesh_separate_material(Main *bmain, Scene *scene, Base *editbase) /* select the material */ EM_select_by_material(em, curr_mat); /* and now separate */ - if(0==mesh_separate_selected(bmain, scene, editbase)) { + if(0==mesh_separate_selected(op, bmain, scene, editbase)) { BKE_mesh_end_editmesh(me, em); return 0; } @@ -1458,7 +1458,7 @@ static int mesh_separate_material(Main *bmain, Scene *scene, Base *editbase) } /* return 1: success */ -static int mesh_separate_loose(Main *bmain, Scene *scene, Base *editbase) +static int mesh_separate_loose(wmOperator *op, Main *bmain, Scene *scene, Base *editbase) { Mesh *me; EditMesh *em; @@ -1498,7 +1498,7 @@ static int mesh_separate_loose(Main *bmain, Scene *scene, Base *editbase) tot= BLI_countlist(&em->verts); /* and now separate */ - doit= mesh_separate_selected(bmain, scene, editbase); + doit= mesh_separate_selected(op, bmain, scene, editbase); /* with hidden verts this can happen */ if(tot == BLI_countlist(&em->verts)) @@ -1518,11 +1518,11 @@ static int mesh_separate_exec(bContext *C, wmOperator *op) int retval= 0, type= RNA_enum_get(op->ptr, "type"); if(type == 0) - retval= mesh_separate_selected(bmain, scene, base); + retval= mesh_separate_selected(op, bmain, scene, base); else if(type == 1) - retval= mesh_separate_material(bmain, scene, base); + retval= mesh_separate_material(op, bmain, scene, base); else if(type == 2) - retval= mesh_separate_loose(bmain, scene, base); + retval= mesh_separate_loose(op, bmain, scene, base); if(retval) { WM_event_add_notifier(C, NC_GEOM|ND_DATA, base->object->data); -- cgit v1.2.3 From 6669c0ad5bac6ce8f1cde4282023d7c448032727 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Sat, 23 Oct 2010 12:09:24 +0000 Subject: fix for implicit declaration --- source/blender/editors/mesh/editmesh.c | 1 + 1 file changed, 1 insertion(+) diff --git a/source/blender/editors/mesh/editmesh.c b/source/blender/editors/mesh/editmesh.c index a74a136ae66..6665e82af19 100644 --- a/source/blender/editors/mesh/editmesh.c +++ b/source/blender/editors/mesh/editmesh.c @@ -53,6 +53,7 @@ #include "BKE_material.h" #include "BKE_mesh.h" #include "BKE_paint.h" +#include "BKE_report.h" #include "ED_mesh.h" #include "ED_object.h" -- cgit v1.2.3 From f383e2e0e681bd860044b0b4de1a12bf4de3c0e0 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Sat, 23 Oct 2010 15:14:54 +0000 Subject: Remove msvc build files which are not needed anymore. --- extern/bullet2/make/msvc_7_0/Bullet_vc7.vcproj | 1239 ---------------- extern/bullet2/make/msvc_9_0/Bullet.vcproj | 1525 -------------------- extern/glew/make/msvc_7_0/glew_vc7.vcproj | 146 -- extern/glew/make/msvc_9_0/glew.vcproj | 197 --- extern/lzma/make/msvc_9_0/lzma.vcproj | 385 ----- extern/lzo/make/msvc_9_0/lzo.vcproj | 353 ----- extern/make/msvc_7_0/build_install_all.vcproj | 85 -- extern/make/msvc_7_0/extern.sln | 245 ---- extern/make/msvc_9_0/build_install_all.vcproj | 114 -- intern/audaspace/make/msvc_9_0/audaspace.vcproj | 924 ------------ intern/boolop/make/msvc_6_0/boolop.dsp | 222 --- intern/boolop/make/msvc_7_0/boolop.vcproj | 372 ----- intern/boolop/make/msvc_9_0/boolop.vcproj | 488 ------- intern/bsp/make/msvc6_0/bsplib.dsp | 138 -- intern/bsp/make/msvc6_0/bsplib.dsw | 29 - intern/bsp/make/msvc_7_0/bsplib.sln | 21 - intern/bsp/make/msvc_7_0/bsplib.vcproj | 282 ---- intern/bsp/make/msvc_9_0/bsplib.vcproj | 372 ----- intern/container/make/msvc_6_0/container.dsp | 133 -- intern/container/make/msvc_6_0/container.dsw | 29 - intern/container/make/msvc_7_0/container.sln | 21 - intern/container/make/msvc_7_0/container.vcproj | 292 ---- intern/container/make/msvc_9_0/container.vcproj | 388 ----- intern/decimation/make/msvc_6_0/decimation.dsp | 186 --- intern/decimation/make/msvc_6_0/decimation.dsw | 33 - intern/decimation/make/msvc_7_0/decimation.sln | 21 - intern/decimation/make/msvc_7_0/decimation.vcproj | 321 ---- intern/decimation/make/msvc_9_0/decimation.vcproj | 424 ------ intern/elbeem/make/msvc_6_0/elbeem.dsp | 290 ---- intern/elbeem/make/msvc_7_0/elbeem.vcproj | 391 ----- intern/elbeem/make/msvc_9_0/elbeem.vcproj | 525 ------- intern/ghost/make/msvc/ghost.dsp | 292 ---- intern/ghost/make/msvc/ghost.dsw | 29 - intern/ghost/make/msvc_7_0/ghost.sln | 21 - intern/ghost/make/msvc_7_0/ghost.vcproj | 410 ------ intern/ghost/make/msvc_9_0/ghost.vcproj | 568 -------- intern/ghost/test/make/msvc_6_0/gears.dsp | 102 -- intern/ghost/test/make/msvc_6_0/gears_C.dsp | 102 -- intern/ghost/test/make/msvc_6_0/ghost_test.dsw | 77 - intern/guardedalloc/make/msvc_6_0/guardedalloc.dsp | 114 -- intern/guardedalloc/make/msvc_7_0/guardedalloc.sln | 21 - .../guardedalloc/make/msvc_7_0/guardedalloc.vcproj | 282 ---- .../guardedalloc/make/msvc_9_0/guardedalloc.vcproj | 370 ----- intern/iksolver/make/msvc_6_0/iksolver.dsp | 260 ---- intern/iksolver/make/msvc_6_0/iksolver.dsw | 35 - intern/iksolver/make/msvc_7_0/iksolver.sln | 21 - intern/iksolver/make/msvc_7_0/iksolver.vcproj | 370 ----- intern/iksolver/make/msvc_9_0/iksolver.vcproj | 488 ------- .../ik_glut_test/make/msvc_6_0/ik_glut_test.dsp | 130 -- .../ik_glut_test/make/msvc_6_0/ik_glut_test.dsw | 49 - intern/itasc/make/msvc_9_0/itasc.vcproj | 539 ------- intern/make/msvc_6_0/build_install_all.dsp | 68 - intern/make/msvc_6_0/intern.dsw | 302 ---- intern/make/msvc_7_0/build_install_all.vcproj | 84 -- intern/make/msvc_7_0/intern.sln | 252 ---- intern/make/msvc_9_0/INT_build_install_all.vcproj | 109 -- intern/memutil/make/msvc_60/memutil.dsp | 150 -- intern/memutil/make/msvc_60/memutil.dsw | 29 - intern/memutil/make/msvc_7_0/memutil.sln | 21 - intern/memutil/make/msvc_7_0/memutil.vcproj | 292 ---- intern/memutil/make/msvc_9_0/memutil.vcproj | 386 ----- intern/moto/make/msvc_6_0/MoTo.dsp | 379 ----- intern/moto/make/msvc_6_0/MoTo.dsw | 29 - intern/moto/make/msvc_7_0/moto.sln | 21 - intern/moto/make/msvc_7_0/moto.vcproj | 543 ------- intern/moto/make/msvc_9_0/moto.vcproj | 714 --------- intern/opennl/make/msvc_6_0/OpenNL.dsp | 252 ---- intern/opennl/make/msvc_6_0/OpenNL.dsw | 29 - intern/opennl/make/msvc_7_0/opennl.vcproj | 745 ---------- intern/opennl/make/msvc_9_0/opennl.vcproj | 993 ------------- intern/smoke/make/msvc_9_0/smoke.vcproj | 520 ------- intern/string/make/msvc_6_0/string.dsp | 122 -- intern/string/make/msvc_6_0/string.dsw | 29 - intern/string/make/msvc_7_0/string.sln | 21 - intern/string/make/msvc_7_0/string.vcproj | 269 ---- intern/string/make/msvc_9_0/string.vcproj | 356 ----- 76 files changed, 21186 deletions(-) delete mode 100644 extern/bullet2/make/msvc_7_0/Bullet_vc7.vcproj delete mode 100644 extern/bullet2/make/msvc_9_0/Bullet.vcproj delete mode 100644 extern/glew/make/msvc_7_0/glew_vc7.vcproj delete mode 100644 extern/glew/make/msvc_9_0/glew.vcproj delete mode 100644 extern/lzma/make/msvc_9_0/lzma.vcproj delete mode 100644 extern/lzo/make/msvc_9_0/lzo.vcproj delete mode 100644 extern/make/msvc_7_0/build_install_all.vcproj delete mode 100644 extern/make/msvc_7_0/extern.sln delete mode 100644 extern/make/msvc_9_0/build_install_all.vcproj delete mode 100644 intern/audaspace/make/msvc_9_0/audaspace.vcproj delete mode 100644 intern/boolop/make/msvc_6_0/boolop.dsp delete mode 100644 intern/boolop/make/msvc_7_0/boolop.vcproj delete mode 100644 intern/boolop/make/msvc_9_0/boolop.vcproj delete mode 100644 intern/bsp/make/msvc6_0/bsplib.dsp delete mode 100644 intern/bsp/make/msvc6_0/bsplib.dsw delete mode 100644 intern/bsp/make/msvc_7_0/bsplib.sln delete mode 100644 intern/bsp/make/msvc_7_0/bsplib.vcproj delete mode 100644 intern/bsp/make/msvc_9_0/bsplib.vcproj delete mode 100644 intern/container/make/msvc_6_0/container.dsp delete mode 100644 intern/container/make/msvc_6_0/container.dsw delete mode 100644 intern/container/make/msvc_7_0/container.sln delete mode 100644 intern/container/make/msvc_7_0/container.vcproj delete mode 100644 intern/container/make/msvc_9_0/container.vcproj delete mode 100644 intern/decimation/make/msvc_6_0/decimation.dsp delete mode 100644 intern/decimation/make/msvc_6_0/decimation.dsw delete mode 100644 intern/decimation/make/msvc_7_0/decimation.sln delete mode 100644 intern/decimation/make/msvc_7_0/decimation.vcproj delete mode 100644 intern/decimation/make/msvc_9_0/decimation.vcproj delete mode 100644 intern/elbeem/make/msvc_6_0/elbeem.dsp delete mode 100644 intern/elbeem/make/msvc_7_0/elbeem.vcproj delete mode 100644 intern/elbeem/make/msvc_9_0/elbeem.vcproj delete mode 100644 intern/ghost/make/msvc/ghost.dsp delete mode 100644 intern/ghost/make/msvc/ghost.dsw delete mode 100644 intern/ghost/make/msvc_7_0/ghost.sln delete mode 100644 intern/ghost/make/msvc_7_0/ghost.vcproj delete mode 100644 intern/ghost/make/msvc_9_0/ghost.vcproj delete mode 100644 intern/ghost/test/make/msvc_6_0/gears.dsp delete mode 100644 intern/ghost/test/make/msvc_6_0/gears_C.dsp delete mode 100644 intern/ghost/test/make/msvc_6_0/ghost_test.dsw delete mode 100644 intern/guardedalloc/make/msvc_6_0/guardedalloc.dsp delete mode 100644 intern/guardedalloc/make/msvc_7_0/guardedalloc.sln delete mode 100644 intern/guardedalloc/make/msvc_7_0/guardedalloc.vcproj delete mode 100644 intern/guardedalloc/make/msvc_9_0/guardedalloc.vcproj delete mode 100644 intern/iksolver/make/msvc_6_0/iksolver.dsp delete mode 100644 intern/iksolver/make/msvc_6_0/iksolver.dsw delete mode 100644 intern/iksolver/make/msvc_7_0/iksolver.sln delete mode 100644 intern/iksolver/make/msvc_7_0/iksolver.vcproj delete mode 100644 intern/iksolver/make/msvc_9_0/iksolver.vcproj delete mode 100644 intern/iksolver/test/ik_glut_test/make/msvc_6_0/ik_glut_test.dsp delete mode 100644 intern/iksolver/test/ik_glut_test/make/msvc_6_0/ik_glut_test.dsw delete mode 100644 intern/itasc/make/msvc_9_0/itasc.vcproj delete mode 100644 intern/make/msvc_6_0/build_install_all.dsp delete mode 100644 intern/make/msvc_6_0/intern.dsw delete mode 100644 intern/make/msvc_7_0/build_install_all.vcproj delete mode 100644 intern/make/msvc_7_0/intern.sln delete mode 100644 intern/make/msvc_9_0/INT_build_install_all.vcproj delete mode 100644 intern/memutil/make/msvc_60/memutil.dsp delete mode 100644 intern/memutil/make/msvc_60/memutil.dsw delete mode 100644 intern/memutil/make/msvc_7_0/memutil.sln delete mode 100644 intern/memutil/make/msvc_7_0/memutil.vcproj delete mode 100644 intern/memutil/make/msvc_9_0/memutil.vcproj delete mode 100644 intern/moto/make/msvc_6_0/MoTo.dsp delete mode 100644 intern/moto/make/msvc_6_0/MoTo.dsw delete mode 100644 intern/moto/make/msvc_7_0/moto.sln delete mode 100644 intern/moto/make/msvc_7_0/moto.vcproj delete mode 100644 intern/moto/make/msvc_9_0/moto.vcproj delete mode 100644 intern/opennl/make/msvc_6_0/OpenNL.dsp delete mode 100644 intern/opennl/make/msvc_6_0/OpenNL.dsw delete mode 100644 intern/opennl/make/msvc_7_0/opennl.vcproj delete mode 100644 intern/opennl/make/msvc_9_0/opennl.vcproj delete mode 100644 intern/smoke/make/msvc_9_0/smoke.vcproj delete mode 100644 intern/string/make/msvc_6_0/string.dsp delete mode 100644 intern/string/make/msvc_6_0/string.dsw delete mode 100644 intern/string/make/msvc_7_0/string.sln delete mode 100644 intern/string/make/msvc_7_0/string.vcproj delete mode 100644 intern/string/make/msvc_9_0/string.vcproj diff --git a/extern/bullet2/make/msvc_7_0/Bullet_vc7.vcproj b/extern/bullet2/make/msvc_7_0/Bullet_vc7.vcproj deleted file mode 100644 index a97f8acb7bb..00000000000 --- a/extern/bullet2/make/msvc_7_0/Bullet_vc7.vcproj +++ /dev/null @@ -1,1239 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/extern/bullet2/make/msvc_9_0/Bullet.vcproj b/extern/bullet2/make/msvc_9_0/Bullet.vcproj deleted file mode 100644 index 9c8f9668f56..00000000000 --- a/extern/bullet2/make/msvc_9_0/Bullet.vcproj +++ /dev/null @@ -1,1525 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/extern/glew/make/msvc_7_0/glew_vc7.vcproj b/extern/glew/make/msvc_7_0/glew_vc7.vcproj deleted file mode 100644 index a8141587350..00000000000 --- a/extern/glew/make/msvc_7_0/glew_vc7.vcproj +++ /dev/null @@ -1,146 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/extern/glew/make/msvc_9_0/glew.vcproj b/extern/glew/make/msvc_9_0/glew.vcproj deleted file mode 100644 index f8b791de218..00000000000 --- a/extern/glew/make/msvc_9_0/glew.vcproj +++ /dev/null @@ -1,197 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/extern/lzma/make/msvc_9_0/lzma.vcproj b/extern/lzma/make/msvc_9_0/lzma.vcproj deleted file mode 100644 index ec0676f6ca6..00000000000 --- a/extern/lzma/make/msvc_9_0/lzma.vcproj +++ /dev/null @@ -1,385 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/extern/lzo/make/msvc_9_0/lzo.vcproj b/extern/lzo/make/msvc_9_0/lzo.vcproj deleted file mode 100644 index 80516ef964e..00000000000 --- a/extern/lzo/make/msvc_9_0/lzo.vcproj +++ /dev/null @@ -1,353 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/extern/make/msvc_7_0/build_install_all.vcproj b/extern/make/msvc_7_0/build_install_all.vcproj deleted file mode 100644 index 3396ecbb799..00000000000 --- a/extern/make/msvc_7_0/build_install_all.vcproj +++ /dev/null @@ -1,85 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/extern/make/msvc_7_0/extern.sln b/extern/make/msvc_7_0/extern.sln deleted file mode 100644 index e4bc550f503..00000000000 --- a/extern/make/msvc_7_0/extern.sln +++ /dev/null @@ -1,245 +0,0 @@ -Microsoft Visual Studio Solution File, Format Version 8.00 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "build_install_all", "build_install_all.vcproj", "{9C71A793-C177-4CAB-8EC5-923D500B39F8}" - ProjectSection(ProjectDependencies) = postProject - {F9850C15-FF0A-429E-9D47-89FB433C9BD8} = {F9850C15-FF0A-429E-9D47-89FB433C9BD8} - {D696C86B-0B53-4471-A50D-5B983A6FA4AD} = {D696C86B-0B53-4471-A50D-5B983A6FA4AD} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "solid", "..\..\solid\make\msvc_7_0\solid.vcproj", "{D696C86B-0B53-4471-A50D-5B983A6FA4AD}" - ProjectSection(ProjectDependencies) = postProject - {6461F05D-4698-47AB-A8E8-1CA2ACC9948B} = {6461F05D-4698-47AB-A8E8-1CA2ACC9948B} - {BAC615B0-F1AF-418B-8D23-A10FD8870D6A} = {BAC615B0-F1AF-418B-8D23-A10FD8870D6A} - {0112CAD5-3584-412A-A2E5-1315A00437B4} = {0112CAD5-3584-412A-A2E5-1315A00437B4} - {B83C6BED-11EC-46C8-AFFA-121EEDE94373} = {B83C6BED-11EC-46C8-AFFA-121EEDE94373} - {524264F4-DF21-4B79-847F-E7CA643ECD0B} = {524264F4-DF21-4B79-847F-E7CA643ECD0B} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "qhull", "..\..\qhull\make\msvc_7_0\qhull.vcproj", "{6461F05D-4698-47AB-A8E8-1CA2ACC9948B}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "convex", "..\..\solid\make\msvc_7_0\convex\convex.vcproj", "{524264F4-DF21-4B79-847F-E7CA643ECD0B}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "complex", "..\..\solid\make\msvc_7_0\complex\complex.vcproj", "{B83C6BED-11EC-46C8-AFFA-121EEDE94373}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "broad", "..\..\solid\make\msvc_7_0\broad\broad.vcproj", "{0112CAD5-3584-412A-A2E5-1315A00437B4}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ftgl_static_lib", "..\..\bFTGL\make\msvc_7_0\ftgl_static_lib.vcproj", "{F9850C15-FF0A-429E-9D47-89FB433C9BD8}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "verse", "..\..\verse\make\msvc_7_0\libverse.vcproj", "{F9850C15-FF0A-429E-9D47-89FB433C9BD8}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "verse_server", "..\..\verse\make\msvc_7_0\verse.vcproj", "{FC752464-F413-4D4F-842D-A5D3AA0E6A3D}" - ProjectSection(ProjectDependencies) = postProject - {F9850C15-FF0A-429E-9D47-89FB433C9BD8} = {F9850C15-FF0A-429E-9D47-89FB433C9BD8} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "bullet2", "..\..\bullet2\make\msvc_7_0\Bullet_vc7.vcproj", "{FFD3C64A-30E2-4BC7-BC8F-51818C320400}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "glew", "..\..\glew\make\msvc_7_0\glew_vc7.vcproj", "{BAC615B0-F1AF-418B-8D23-A10FD8870D6A}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Global - GlobalSection(SolutionConfiguration) = preSolution - 3D Plugin Debug = 3D Plugin Debug - 3D Plugin Release = 3D Plugin Release - Blender Debug = Blender Debug - Blender Release = Blender Release - BlenderPlayer Debug = BlenderPlayer Debug - BlenderPlayer Release = BlenderPlayer Release - Debug = Debug - Release = Release - EndGlobalSection - GlobalSection(ProjectDependencies) = postSolution - EndGlobalSection - GlobalSection(ProjectConfiguration) = postSolution - {9C71A793-C177-4CAB-8EC5-923D500B39F8}.3D Plugin Debug.ActiveCfg = 3D Plugin Debug|Win32 - {9C71A793-C177-4CAB-8EC5-923D500B39F8}.3D Plugin Debug.Build.0 = 3D Plugin Debug|Win32 - {9C71A793-C177-4CAB-8EC5-923D500B39F8}.3D Plugin Release.ActiveCfg = 3D Plugin Release|Win32 - {9C71A793-C177-4CAB-8EC5-923D500B39F8}.3D Plugin Release.Build.0 = 3D Plugin Release|Win32 - {9C71A793-C177-4CAB-8EC5-923D500B39F8}.Blender Debug.ActiveCfg = Blender Debug|Win32 - {9C71A793-C177-4CAB-8EC5-923D500B39F8}.Blender Debug.Build.0 = Blender Debug|Win32 - {9C71A793-C177-4CAB-8EC5-923D500B39F8}.Blender Release.ActiveCfg = Blender Release|Win32 - {9C71A793-C177-4CAB-8EC5-923D500B39F8}.Blender Release.Build.0 = Blender Release|Win32 - {9C71A793-C177-4CAB-8EC5-923D500B39F8}.BlenderPlayer Debug.ActiveCfg = Blender Release|Win32 - {9C71A793-C177-4CAB-8EC5-923D500B39F8}.BlenderPlayer Debug.Build.0 = Blender Release|Win32 - {9C71A793-C177-4CAB-8EC5-923D500B39F8}.BlenderPlayer Release.ActiveCfg = Blender Release|Win32 - {9C71A793-C177-4CAB-8EC5-923D500B39F8}.BlenderPlayer Release.Build.0 = Blender Release|Win32 - {9C71A793-C177-4CAB-8EC5-923D500B39F8}.Debug.ActiveCfg = 3D Plugin Debug|Win32 - {9C71A793-C177-4CAB-8EC5-923D500B39F8}.Debug.Build.0 = 3D Plugin Debug|Win32 - {9C71A793-C177-4CAB-8EC5-923D500B39F8}.Release.ActiveCfg = 3D Plugin Release|Win32 - {9C71A793-C177-4CAB-8EC5-923D500B39F8}.Release.Build.0 = 3D Plugin Release|Win32 - {D696C86B-0B53-4471-A50D-5B983A6FA4AD}.3D Plugin Debug.ActiveCfg = 3D Plugin Debug|Win32 - {D696C86B-0B53-4471-A50D-5B983A6FA4AD}.3D Plugin Debug.Build.0 = 3D Plugin Debug|Win32 - {D696C86B-0B53-4471-A50D-5B983A6FA4AD}.3D Plugin Release.ActiveCfg = 3D Plugin Release|Win32 - {D696C86B-0B53-4471-A50D-5B983A6FA4AD}.3D Plugin Release.Build.0 = 3D Plugin Release|Win32 - {D696C86B-0B53-4471-A50D-5B983A6FA4AD}.Blender Debug.ActiveCfg = Blender Debug|Win32 - {D696C86B-0B53-4471-A50D-5B983A6FA4AD}.Blender Debug.Build.0 = Blender Debug|Win32 - {D696C86B-0B53-4471-A50D-5B983A6FA4AD}.Blender Release.ActiveCfg = Blender Release|Win32 - {D696C86B-0B53-4471-A50D-5B983A6FA4AD}.Blender Release.Build.0 = Blender Release|Win32 - {D696C86B-0B53-4471-A50D-5B983A6FA4AD}.BlenderPlayer Debug.ActiveCfg = Blender Release|Win32 - {D696C86B-0B53-4471-A50D-5B983A6FA4AD}.BlenderPlayer Debug.Build.0 = Blender Release|Win32 - {D696C86B-0B53-4471-A50D-5B983A6FA4AD}.BlenderPlayer Release.ActiveCfg = Blender Release|Win32 - {D696C86B-0B53-4471-A50D-5B983A6FA4AD}.BlenderPlayer Release.Build.0 = Blender Release|Win32 - {D696C86B-0B53-4471-A50D-5B983A6FA4AD}.Debug.ActiveCfg = 3D Plugin Debug|Win32 - {D696C86B-0B53-4471-A50D-5B983A6FA4AD}.Debug.Build.0 = 3D Plugin Debug|Win32 - {D696C86B-0B53-4471-A50D-5B983A6FA4AD}.Release.ActiveCfg = 3D Plugin Release|Win32 - {D696C86B-0B53-4471-A50D-5B983A6FA4AD}.Release.Build.0 = 3D Plugin Release|Win32 - {6461F05D-4698-47AB-A8E8-1CA2ACC9948B}.3D Plugin Debug.ActiveCfg = 3D Plugin Debug|Win32 - {6461F05D-4698-47AB-A8E8-1CA2ACC9948B}.3D Plugin Debug.Build.0 = 3D Plugin Debug|Win32 - {6461F05D-4698-47AB-A8E8-1CA2ACC9948B}.3D Plugin Release.ActiveCfg = 3D Plugin Release|Win32 - {6461F05D-4698-47AB-A8E8-1CA2ACC9948B}.3D Plugin Release.Build.0 = 3D Plugin Release|Win32 - {6461F05D-4698-47AB-A8E8-1CA2ACC9948B}.Blender Debug.ActiveCfg = Blender Debug|Win32 - {6461F05D-4698-47AB-A8E8-1CA2ACC9948B}.Blender Debug.Build.0 = Blender Debug|Win32 - {6461F05D-4698-47AB-A8E8-1CA2ACC9948B}.Blender Release.ActiveCfg = Blender Release|Win32 - {6461F05D-4698-47AB-A8E8-1CA2ACC9948B}.Blender Release.Build.0 = Blender Release|Win32 - {6461F05D-4698-47AB-A8E8-1CA2ACC9948B}.BlenderPlayer Debug.ActiveCfg = Blender Debug|Win32 - {6461F05D-4698-47AB-A8E8-1CA2ACC9948B}.BlenderPlayer Debug.Build.0 = Blender Debug|Win32 - {6461F05D-4698-47AB-A8E8-1CA2ACC9948B}.BlenderPlayer Release.ActiveCfg = Blender Debug|Win32 - {6461F05D-4698-47AB-A8E8-1CA2ACC9948B}.BlenderPlayer Release.Build.0 = Blender Debug|Win32 - {6461F05D-4698-47AB-A8E8-1CA2ACC9948B}.Debug.ActiveCfg = 3D Plugin Debug|Win32 - {6461F05D-4698-47AB-A8E8-1CA2ACC9948B}.Debug.Build.0 = 3D Plugin Debug|Win32 - {6461F05D-4698-47AB-A8E8-1CA2ACC9948B}.Release.ActiveCfg = 3D Plugin Release|Win32 - {6461F05D-4698-47AB-A8E8-1CA2ACC9948B}.Release.Build.0 = 3D Plugin Release|Win32 - {524264F4-DF21-4B79-847F-E7CA643ECD0B}.3D Plugin Debug.ActiveCfg = 3D Plugin Debug|Win32 - {524264F4-DF21-4B79-847F-E7CA643ECD0B}.3D Plugin Debug.Build.0 = 3D Plugin Debug|Win32 - {524264F4-DF21-4B79-847F-E7CA643ECD0B}.3D Plugin Release.ActiveCfg = 3D Plugin Release|Win32 - {524264F4-DF21-4B79-847F-E7CA643ECD0B}.3D Plugin Release.Build.0 = 3D Plugin Release|Win32 - {524264F4-DF21-4B79-847F-E7CA643ECD0B}.Blender Debug.ActiveCfg = Blender Debug|Win32 - {524264F4-DF21-4B79-847F-E7CA643ECD0B}.Blender Debug.Build.0 = Blender Debug|Win32 - {524264F4-DF21-4B79-847F-E7CA643ECD0B}.Blender Release.ActiveCfg = Blender Release|Win32 - {524264F4-DF21-4B79-847F-E7CA643ECD0B}.Blender Release.Build.0 = Blender Release|Win32 - {524264F4-DF21-4B79-847F-E7CA643ECD0B}.BlenderPlayer Debug.ActiveCfg = Blender Release|Win32 - {524264F4-DF21-4B79-847F-E7CA643ECD0B}.BlenderPlayer Debug.Build.0 = Blender Release|Win32 - {524264F4-DF21-4B79-847F-E7CA643ECD0B}.BlenderPlayer Release.ActiveCfg = Blender Release|Win32 - {524264F4-DF21-4B79-847F-E7CA643ECD0B}.BlenderPlayer Release.Build.0 = Blender Release|Win32 - {524264F4-DF21-4B79-847F-E7CA643ECD0B}.Debug.ActiveCfg = 3D Plugin Debug|Win32 - {524264F4-DF21-4B79-847F-E7CA643ECD0B}.Debug.Build.0 = 3D Plugin Debug|Win32 - {524264F4-DF21-4B79-847F-E7CA643ECD0B}.Release.ActiveCfg = 3D Plugin Release|Win32 - {524264F4-DF21-4B79-847F-E7CA643ECD0B}.Release.Build.0 = 3D Plugin Release|Win32 - {B83C6BED-11EC-46C8-AFFA-121EEDE94373}.3D Plugin Debug.ActiveCfg = 3D Plugin Debug|Win32 - {B83C6BED-11EC-46C8-AFFA-121EEDE94373}.3D Plugin Debug.Build.0 = 3D Plugin Debug|Win32 - {B83C6BED-11EC-46C8-AFFA-121EEDE94373}.3D Plugin Release.ActiveCfg = 3D Plugin Release|Win32 - {B83C6BED-11EC-46C8-AFFA-121EEDE94373}.3D Plugin Release.Build.0 = 3D Plugin Release|Win32 - {B83C6BED-11EC-46C8-AFFA-121EEDE94373}.Blender Debug.ActiveCfg = Blender Debug|Win32 - {B83C6BED-11EC-46C8-AFFA-121EEDE94373}.Blender Debug.Build.0 = Blender Debug|Win32 - {B83C6BED-11EC-46C8-AFFA-121EEDE94373}.Blender Release.ActiveCfg = Blender Release|Win32 - {B83C6BED-11EC-46C8-AFFA-121EEDE94373}.Blender Release.Build.0 = Blender Release|Win32 - {B83C6BED-11EC-46C8-AFFA-121EEDE94373}.BlenderPlayer Debug.ActiveCfg = Blender Debug|Win32 - {B83C6BED-11EC-46C8-AFFA-121EEDE94373}.BlenderPlayer Debug.Build.0 = Blender Debug|Win32 - {B83C6BED-11EC-46C8-AFFA-121EEDE94373}.BlenderPlayer Release.ActiveCfg = Blender Debug|Win32 - {B83C6BED-11EC-46C8-AFFA-121EEDE94373}.BlenderPlayer Release.Build.0 = Blender Debug|Win32 - {B83C6BED-11EC-46C8-AFFA-121EEDE94373}.Debug.ActiveCfg = 3D Plugin Debug|Win32 - {B83C6BED-11EC-46C8-AFFA-121EEDE94373}.Debug.Build.0 = 3D Plugin Debug|Win32 - {B83C6BED-11EC-46C8-AFFA-121EEDE94373}.Release.ActiveCfg = 3D Plugin Release|Win32 - {B83C6BED-11EC-46C8-AFFA-121EEDE94373}.Release.Build.0 = 3D Plugin Release|Win32 - {0112CAD5-3584-412A-A2E5-1315A00437B4}.3D Plugin Debug.ActiveCfg = 3D Plugin Debug|Win32 - {0112CAD5-3584-412A-A2E5-1315A00437B4}.3D Plugin Debug.Build.0 = 3D Plugin Debug|Win32 - {0112CAD5-3584-412A-A2E5-1315A00437B4}.3D Plugin Release.ActiveCfg = 3D Plugin Release|Win32 - {0112CAD5-3584-412A-A2E5-1315A00437B4}.3D Plugin Release.Build.0 = 3D Plugin Release|Win32 - {0112CAD5-3584-412A-A2E5-1315A00437B4}.Blender Debug.ActiveCfg = Blender Debug|Win32 - {0112CAD5-3584-412A-A2E5-1315A00437B4}.Blender Debug.Build.0 = Blender Debug|Win32 - {0112CAD5-3584-412A-A2E5-1315A00437B4}.Blender Release.ActiveCfg = Blender Release|Win32 - {0112CAD5-3584-412A-A2E5-1315A00437B4}.Blender Release.Build.0 = Blender Release|Win32 - {0112CAD5-3584-412A-A2E5-1315A00437B4}.BlenderPlayer Debug.ActiveCfg = Blender Debug|Win32 - {0112CAD5-3584-412A-A2E5-1315A00437B4}.BlenderPlayer Debug.Build.0 = Blender Debug|Win32 - {0112CAD5-3584-412A-A2E5-1315A00437B4}.BlenderPlayer Release.ActiveCfg = Blender Debug|Win32 - {0112CAD5-3584-412A-A2E5-1315A00437B4}.BlenderPlayer Release.Build.0 = Blender Debug|Win32 - {0112CAD5-3584-412A-A2E5-1315A00437B4}.Debug.ActiveCfg = 3D Plugin Debug|Win32 - {0112CAD5-3584-412A-A2E5-1315A00437B4}.Debug.Build.0 = 3D Plugin Debug|Win32 - {0112CAD5-3584-412A-A2E5-1315A00437B4}.Release.ActiveCfg = 3D Plugin Release|Win32 - {0112CAD5-3584-412A-A2E5-1315A00437B4}.Release.Build.0 = 3D Plugin Release|Win32 - {F9850C15-FF0A-429E-9D47-89FB433C9BD8}.3D Plugin Debug.ActiveCfg = 3D Plugin Debug|Win32 - {F9850C15-FF0A-429E-9D47-89FB433C9BD8}.3D Plugin Debug.Build.0 = 3D Plugin Debug|Win32 - {F9850C15-FF0A-429E-9D47-89FB433C9BD8}.3D Plugin Release.ActiveCfg = 3D Plugin Release|Win32 - {F9850C15-FF0A-429E-9D47-89FB433C9BD8}.3D Plugin Release.Build.0 = 3D Plugin Release|Win32 - {F9850C15-FF0A-429E-9D47-89FB433C9BD8}.Blender Debug.ActiveCfg = Blender Debug|Win32 - {F9850C15-FF0A-429E-9D47-89FB433C9BD8}.Blender Debug.Build.0 = Blender Debug|Win32 - {F9850C15-FF0A-429E-9D47-89FB433C9BD8}.Blender Release.ActiveCfg = Blender Release|Win32 - {F9850C15-FF0A-429E-9D47-89FB433C9BD8}.Blender Release.Build.0 = Blender Release|Win32 - {F9850C15-FF0A-429E-9D47-89FB433C9BD8}.BlenderPlayer Debug.ActiveCfg = Blender Release|Win32 - {F9850C15-FF0A-429E-9D47-89FB433C9BD8}.BlenderPlayer Debug.Build.0 = Blender Release|Win32 - {F9850C15-FF0A-429E-9D47-89FB433C9BD8}.BlenderPlayer Release.ActiveCfg = Blender Release|Win32 - {F9850C15-FF0A-429E-9D47-89FB433C9BD8}.BlenderPlayer Release.Build.0 = Blender Release|Win32 - {F9850C15-FF0A-429E-9D47-89FB433C9BD8}.Debug.ActiveCfg = 3D Plugin Debug|Win32 - {F9850C15-FF0A-429E-9D47-89FB433C9BD8}.Debug.Build.0 = 3D Plugin Debug|Win32 - {F9850C15-FF0A-429E-9D47-89FB433C9BD8}.Release.ActiveCfg = 3D Plugin Release|Win32 - {F9850C15-FF0A-429E-9D47-89FB433C9BD8}.Release.Build.0 = 3D Plugin Release|Win32 - {F9850C15-FF0A-429E-9D47-89FB433C9BD8}.3D Plugin Debug.ActiveCfg = 3D Plugin Debug|Win32 - {F9850C15-FF0A-429E-9D47-89FB433C9BD8}.3D Plugin Debug.Build.0 = 3D Plugin Debug|Win32 - {F9850C15-FF0A-429E-9D47-89FB433C9BD8}.3D Plugin Release.ActiveCfg = 3D Plugin Release|Win32 - {F9850C15-FF0A-429E-9D47-89FB433C9BD8}.3D Plugin Release.Build.0 = 3D Plugin Release|Win32 - {F9850C15-FF0A-429E-9D47-89FB433C9BD8}.Blender Debug.ActiveCfg = Blender Debug|Win32 - {F9850C15-FF0A-429E-9D47-89FB433C9BD8}.Blender Debug.Build.0 = Blender Debug|Win32 - {F9850C15-FF0A-429E-9D47-89FB433C9BD8}.Blender Release.ActiveCfg = Blender Release|Win32 - {F9850C15-FF0A-429E-9D47-89FB433C9BD8}.Blender Release.Build.0 = Blender Release|Win32 - {F9850C15-FF0A-429E-9D47-89FB433C9BD8}.BlenderPlayer Debug.ActiveCfg = Blender Release|Win32 - {F9850C15-FF0A-429E-9D47-89FB433C9BD8}.BlenderPlayer Debug.Build.0 = Blender Release|Win32 - {F9850C15-FF0A-429E-9D47-89FB433C9BD8}.BlenderPlayer Release.ActiveCfg = Blender Release|Win32 - {F9850C15-FF0A-429E-9D47-89FB433C9BD8}.BlenderPlayer Release.Build.0 = Blender Release|Win32 - {F9850C15-FF0A-429E-9D47-89FB433C9BD8}.Debug.ActiveCfg = 3D Plugin Debug|Win32 - {F9850C15-FF0A-429E-9D47-89FB433C9BD8}.Debug.Build.0 = 3D Plugin Debug|Win32 - {F9850C15-FF0A-429E-9D47-89FB433C9BD8}.Release.ActiveCfg = 3D Plugin Release|Win32 - {F9850C15-FF0A-429E-9D47-89FB433C9BD8}.Release.Build.0 = 3D Plugin Release|Win32 - {FC752464-F413-4D4F-842D-A5D3AA0E6A3D}.3D Plugin Debug.ActiveCfg = 3D Plugin Debug|Win32 - {FC752464-F413-4D4F-842D-A5D3AA0E6A3D}.3D Plugin Release.ActiveCfg = 3D Plugin Release|Win32 - {FC752464-F413-4D4F-842D-A5D3AA0E6A3D}.Blender Debug.ActiveCfg = Blender Debug|Win32 - {FC752464-F413-4D4F-842D-A5D3AA0E6A3D}.Blender Debug.Build.0 = Blender Debug|Win32 - {FC752464-F413-4D4F-842D-A5D3AA0E6A3D}.Blender Release.ActiveCfg = Blender Release|Win32 - {FC752464-F413-4D4F-842D-A5D3AA0E6A3D}.Blender Release.Build.0 = Blender Release|Win32 - {FC752464-F413-4D4F-842D-A5D3AA0E6A3D}.BlenderPlayer Debug.ActiveCfg = BlenderPlayer Debug|Win32 - {FC752464-F413-4D4F-842D-A5D3AA0E6A3D}.BlenderPlayer Release.ActiveCfg = BlenderPlayer Release|Win32 - {FC752464-F413-4D4F-842D-A5D3AA0E6A3D}.Debug.ActiveCfg = BlenderPlayer Debug|Win32 - {FC752464-F413-4D4F-842D-A5D3AA0E6A3D}.Debug.Build.0 = BlenderPlayer Debug|Win32 - {FC752464-F413-4D4F-842D-A5D3AA0E6A3D}.Release.ActiveCfg = BlenderPlayer Release|Win32 - {FC752464-F413-4D4F-842D-A5D3AA0E6A3D}.Release.Build.0 = BlenderPlayer Release|Win32 - {FFD3C64A-30E2-4BC7-BC8F-51818C320400}.3D Plugin Debug.ActiveCfg = 3D Plugin Debug|Win32 - {FFD3C64A-30E2-4BC7-BC8F-51818C320400}.3D Plugin Debug.Build.0 = 3D Plugin Debug|Win32 - {FFD3C64A-30E2-4BC7-BC8F-51818C320400}.3D Plugin Release.ActiveCfg = 3D Plugin Release|Win32 - {FFD3C64A-30E2-4BC7-BC8F-51818C320400}.3D Plugin Release.Build.0 = 3D Plugin Release|Win32 - {FFD3C64A-30E2-4BC7-BC8F-51818C320400}.Blender Debug.ActiveCfg = Blender Debug|Win32 - {FFD3C64A-30E2-4BC7-BC8F-51818C320400}.Blender Debug.Build.0 = Blender Debug|Win32 - {FFD3C64A-30E2-4BC7-BC8F-51818C320400}.Blender Release.ActiveCfg = Blender Release|Win32 - {FFD3C64A-30E2-4BC7-BC8F-51818C320400}.Blender Release.Build.0 = Blender Release|Win32 - {FFD3C64A-30E2-4BC7-BC8F-51818C320400}.BlenderPlayer Debug.ActiveCfg = Blender Release|Win32 - {FFD3C64A-30E2-4BC7-BC8F-51818C320400}.BlenderPlayer Debug.Build.0 = Blender Release|Win32 - {FFD3C64A-30E2-4BC7-BC8F-51818C320400}.BlenderPlayer Release.ActiveCfg = Blender Release|Win32 - {FFD3C64A-30E2-4BC7-BC8F-51818C320400}.BlenderPlayer Release.Build.0 = Blender Release|Win32 - {FFD3C64A-30E2-4BC7-BC8F-51818C320400}.Debug.ActiveCfg = 3D Plugin Debug|Win32 - {FFD3C64A-30E2-4BC7-BC8F-51818C320400}.Debug.Build.0 = 3D Plugin Debug|Win32 - {FFD3C64A-30E2-4BC7-BC8F-51818C320400}.Release.ActiveCfg = 3D Plugin Release|Win32 - {FFD3C64A-30E2-4BC7-BC8F-51818C320400}.Release.Build.0 = 3D Plugin Release|Win32 - {BAC615B0-F1AF-418B-8D23-A10FD8870D6A}.3D Plugin Debug.ActiveCfg = Blender Release|Win32 - {BAC615B0-F1AF-418B-8D23-A10FD8870D6A}.3D Plugin Debug.Build.0 = Blender Release|Win32 - {BAC615B0-F1AF-418B-8D23-A10FD8870D6A}.3D Plugin Release.ActiveCfg = Blender Release|Win32 - {BAC615B0-F1AF-418B-8D23-A10FD8870D6A}.3D Plugin Release.Build.0 = Blender Release|Win32 - {BAC615B0-F1AF-418B-8D23-A10FD8870D6A}.Blender Debug.ActiveCfg = Blender Debug|Win32 - {BAC615B0-F1AF-418B-8D23-A10FD8870D6A}.Blender Debug.Build.0 = Blender Debug|Win32 - {BAC615B0-F1AF-418B-8D23-A10FD8870D6A}.Blender Release.ActiveCfg = Blender Release|Win32 - {BAC615B0-F1AF-418B-8D23-A10FD8870D6A}.Blender Release.Build.0 = Blender Release|Win32 - {BAC615B0-F1AF-418B-8D23-A10FD8870D6A}.BlenderPlayer Debug.ActiveCfg = Blender Release|Win32 - {BAC615B0-F1AF-418B-8D23-A10FD8870D6A}.BlenderPlayer Debug.Build.0 = Blender Release|Win32 - {BAC615B0-F1AF-418B-8D23-A10FD8870D6A}.BlenderPlayer Release.ActiveCfg = Blender Release|Win32 - {BAC615B0-F1AF-418B-8D23-A10FD8870D6A}.BlenderPlayer Release.Build.0 = Blender Release|Win32 - {BAC615B0-F1AF-418B-8D23-A10FD8870D6A}.Debug.ActiveCfg = Blender Debug|Win32 - {BAC615B0-F1AF-418B-8D23-A10FD8870D6A}.Debug.Build.0 = Blender Debug|Win32 - {BAC615B0-F1AF-418B-8D23-A10FD8870D6A}.Release.ActiveCfg = Blender Release|Win32 - {BAC615B0-F1AF-418B-8D23-A10FD8870D6A}.Release.Build.0 = Blender Release|Win32 - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - EndGlobalSection - GlobalSection(ExtensibilityAddIns) = postSolution - EndGlobalSection -EndGlobal diff --git a/extern/make/msvc_9_0/build_install_all.vcproj b/extern/make/msvc_9_0/build_install_all.vcproj deleted file mode 100644 index 7909bbe63a0..00000000000 --- a/extern/make/msvc_9_0/build_install_all.vcproj +++ /dev/null @@ -1,114 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/intern/audaspace/make/msvc_9_0/audaspace.vcproj b/intern/audaspace/make/msvc_9_0/audaspace.vcproj deleted file mode 100644 index e6d83f18b01..00000000000 --- a/intern/audaspace/make/msvc_9_0/audaspace.vcproj +++ /dev/null @@ -1,924 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/intern/boolop/make/msvc_6_0/boolop.dsp b/intern/boolop/make/msvc_6_0/boolop.dsp deleted file mode 100644 index d4e0025adc2..00000000000 --- a/intern/boolop/make/msvc_6_0/boolop.dsp +++ /dev/null @@ -1,222 +0,0 @@ -# Microsoft Developer Studio Project File - Name="boolop" - Package Owner=<4> -# Microsoft Developer Studio Generated Build File, Format Version 6.00 -# ** DO NOT EDIT ** - -# TARGTYPE "Win32 (x86) Static Library" 0x0104 - -CFG=boolop - Win32 Debug -!MESSAGE This is not a valid makefile. To build this project using NMAKE, -!MESSAGE use the Export Makefile command and run -!MESSAGE -!MESSAGE NMAKE /f "boolop.mak". -!MESSAGE -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "boolop.mak" CFG="boolop - Win32 Debug" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "boolop - Win32 Release" (based on "Win32 (x86) Static Library") -!MESSAGE "boolop - Win32 Debug" (based on "Win32 (x86) Static Library") -!MESSAGE - -# Begin Project -# PROP AllowPerConfigDependencies 0 -# PROP Scc_ProjName "" -# PROP Scc_LocalPath "" -CPP=cl.exe -RSC=rc.exe - -!IF "$(CFG)" == "boolop - Win32 Release" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "Release" -# PROP BASE Intermediate_Dir "Release" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "Release" -# PROP Intermediate_Dir "Release" -# PROP Target_Dir "" -LINK32=link.exe -lib -# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c -# ADD CPP /nologo /MT /W3 /GX /O2 /I "..\..\..\source\blender\makesdna" /I "..\..\..\..\source\blender\makesdna\\" /I "..\..\..\..\..\lib\windows\moto\include\\" /I "..\..\..\..\..\lib\windows\container\include\\" /I "..\..\..\..\..\lib\windows\memutil\include\\" /I "../../extern" /I "..\..\..\..\..\lib\windows\guardedalloc\include\\" /I "..\..\..\..\source\blender\blenlib\\" /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c -# ADD BASE RSC /l 0x407 /d "NDEBUG" -# ADD RSC /l 0x407 /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LIB32=link.exe -lib -# ADD BASE LIB32 /nologo -# ADD LIB32 /nologo -# Begin Special Build Tool -SOURCE="$(InputPath)" -PostBuild_Cmds=ECHO copy to lib folder XCOPY /Y .\release\*.lib ..\..\..\..\..\lib\windows\boolop\lib\*.lib -# End Special Build Tool - -!ELSEIF "$(CFG)" == "boolop - Win32 Debug" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "Debug" -# PROP BASE Intermediate_Dir "Debug" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "Debug" -# PROP Intermediate_Dir "Debug" -# PROP Target_Dir "" -LINK32=link.exe -lib -# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c -# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "..\..\..\..\source\blender\makesdna\\" /I "..\..\..\..\..\lib\windows\moto\include\\" /I "..\..\..\..\..\lib\windows\container\include\\" /I "..\..\..\..\..\lib\windows\memutil\include\\" /I "../../extern" /I "..\..\..\..\..\lib\windows\guardedalloc\include\\" /I "..\..\..\..\source\blender\blenlib\\" /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c -# ADD BASE RSC /l 0x407 /d "_DEBUG" -# ADD RSC /l 0x407 /d "_DEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LIB32=link.exe -lib -# ADD BASE LIB32 /nologo -# ADD LIB32 /nologo - -!ENDIF - -# Begin Target - -# Name "boolop - Win32 Release" -# Name "boolop - Win32 Debug" -# Begin Group "Source Files" - -# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" -# Begin Source File - -SOURCE=..\..\intern\BOP_BBox.cpp -# End Source File -# Begin Source File - -SOURCE=..\..\intern\BOP_BSPNode.cpp -# End Source File -# Begin Source File - -SOURCE=..\..\intern\BOP_BSPTree.cpp -# End Source File -# Begin Source File - -SOURCE=..\..\intern\BOP_Edge.cpp -# End Source File -# Begin Source File - -SOURCE=..\..\intern\BOP_Face.cpp -# End Source File -# Begin Source File - -SOURCE=..\..\intern\BOP_Face2Face.cpp -# End Source File -# Begin Source File - -SOURCE=..\..\intern\BOP_Interface.cpp -# End Source File -# Begin Source File - -SOURCE=..\..\intern\BOP_MathUtils.cpp -# End Source File -# Begin Source File - -SOURCE=..\..\intern\BOP_Merge.cpp -# End Source File -# Begin Source File - -SOURCE=..\..\intern\BOP_Mesh.cpp -# End Source File -# Begin Source File - -SOURCE=..\..\intern\BOP_Segment.cpp -# End Source File -# Begin Source File - -SOURCE=..\..\intern\BOP_Splitter.cpp -# End Source File -# Begin Source File - -SOURCE=..\..\intern\BOP_Tag.cpp -# End Source File -# Begin Source File - -SOURCE=..\..\intern\BOP_Triangulator.cpp -# End Source File -# Begin Source File - -SOURCE=..\..\intern\BOP_Vertex.cpp -# End Source File -# End Group -# Begin Group "Header Files" - -# PROP Default_Filter "h;hpp;hxx;hm;inl" -# Begin Source File - -SOURCE=..\..\intern\BOP_BBox.h -# End Source File -# Begin Source File - -SOURCE=..\..\intern\BOP_BSPNode.h -# End Source File -# Begin Source File - -SOURCE=..\..\intern\BOP_BSPTree.h -# End Source File -# Begin Source File - -SOURCE=..\..\intern\BOP_Chrono.h -# End Source File -# Begin Source File - -SOURCE=..\..\intern\BOP_Edge.h -# End Source File -# Begin Source File - -SOURCE=..\..\intern\BOP_Face.h -# End Source File -# Begin Source File - -SOURCE=..\..\intern\BOP_Face2Face.h -# End Source File -# Begin Source File - -SOURCE=..\..\intern\BOP_Indexs.h -# End Source File -# Begin Source File - -SOURCE=..\..\intern\BOP_MathUtils.h -# End Source File -# Begin Source File - -SOURCE=..\..\intern\BOP_Merge.h -# End Source File -# Begin Source File - -SOURCE=..\..\intern\BOP_Mesh.h -# End Source File -# Begin Source File - -SOURCE=..\..\intern\BOP_Segment.h -# End Source File -# Begin Source File - -SOURCE=..\..\intern\BOP_Splitter.h -# End Source File -# Begin Source File - -SOURCE=..\..\intern\BOP_Tag.h -# End Source File -# Begin Source File - -SOURCE=..\..\intern\BOP_Triangulator.h -# End Source File -# Begin Source File - -SOURCE=..\..\intern\BOP_Vertex.h -# End Source File -# End Group -# End Target -# End Project diff --git a/intern/boolop/make/msvc_7_0/boolop.vcproj b/intern/boolop/make/msvc_7_0/boolop.vcproj deleted file mode 100644 index 6e6d6abeb43..00000000000 --- a/intern/boolop/make/msvc_7_0/boolop.vcproj +++ /dev/null @@ -1,372 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/intern/boolop/make/msvc_9_0/boolop.vcproj b/intern/boolop/make/msvc_9_0/boolop.vcproj deleted file mode 100644 index 357d189376a..00000000000 --- a/intern/boolop/make/msvc_9_0/boolop.vcproj +++ /dev/null @@ -1,488 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/intern/bsp/make/msvc6_0/bsplib.dsp b/intern/bsp/make/msvc6_0/bsplib.dsp deleted file mode 100644 index 703a6326d3a..00000000000 --- a/intern/bsp/make/msvc6_0/bsplib.dsp +++ /dev/null @@ -1,138 +0,0 @@ -# Microsoft Developer Studio Project File - Name="bsplib" - Package Owner=<4> -# Microsoft Developer Studio Generated Build File, Format Version 6.00 -# ** DO NOT EDIT ** - -# TARGTYPE "Win32 (x86) Static Library" 0x0104 - -CFG=bsplib - Win32 Debug -!MESSAGE This is not a valid makefile. To build this project using NMAKE, -!MESSAGE use the Export Makefile command and run -!MESSAGE -!MESSAGE NMAKE /f "bsplib.mak". -!MESSAGE -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "bsplib.mak" CFG="bsplib - Win32 Debug" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "bsplib - Win32 Release" (based on "Win32 (x86) Static Library") -!MESSAGE "bsplib - Win32 Debug" (based on "Win32 (x86) Static Library") -!MESSAGE - -# Begin Project -# PROP AllowPerConfigDependencies 0 -# PROP Scc_ProjName "" -# PROP Scc_LocalPath "" -CPP=cl.exe -RSC=rc.exe - -!IF "$(CFG)" == "bsplib - Win32 Release" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "Release" -# PROP BASE Intermediate_Dir "Release" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "..\..\..\..\obj\windows\intern\bsp\" -# PROP Intermediate_Dir "..\..\..\..\obj\windows\intern\bsp\" -# PROP Target_Dir "" -LINK32=link.exe -lib -# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c -# ADD CPP /nologo /MT /W3 /GX /O2 /Ob2 /I "../../../../../lib/windows/memutil/include" /I "../.." /I "../../../../../lib/windows/moto/include" /I "../../../../../lib/windows/container/include" /I "..\..\..\container" /I "..\..\..\moto\include" /I "..\..\..\memutil" /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c -# ADD BASE RSC /l 0x413 /d "NDEBUG" -# ADD RSC /l 0x413 /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LIB32=link.exe -lib -# ADD BASE LIB32 /nologo -# ADD LIB32 /nologo /out:"..\..\..\..\obj\windows\intern\bsp\libbsp.lib" -# Begin Special Build Tool -SOURCE="$(InputPath)" -PostBuild_Cmds=ECHO Copying header files XCOPY /Y ..\..\extern\*.h ..\..\..\..\..\lib\windows\bsp\include\ ECHO Copying lib XCOPY /Y ..\..\..\..\obj\windows\intern\bsp\*.lib ..\..\..\..\..\lib\windows\bsp\lib\*.a ECHO Done -# End Special Build Tool - -!ELSEIF "$(CFG)" == "bsplib - Win32 Debug" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "Debug" -# PROP BASE Intermediate_Dir "Debug" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "..\..\..\..\obj\windows\intern\bsp\debug" -# PROP Intermediate_Dir "..\..\..\..\obj\windows\intern\bsp\debug" -# PROP Target_Dir "" -LINK32=link.exe -lib -# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c -# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "../../../../../lib/windows/memutil" /I "../.." /I "../../../../../lib/windows/moto/include" /I "../../../../../lib/windows/container/include" /I "../../../../../lib/windows/memutil/include" /I "..\..\..\container" /I "..\..\..\moto\include" /I "..\..\..\memutil" /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /FD /GZ /c -# ADD BASE RSC /l 0x413 /d "_DEBUG" -# ADD RSC /l 0x413 /d "_DEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LIB32=link.exe -lib -# ADD BASE LIB32 /nologo -# ADD LIB32 /nologo /out:"..\..\..\..\obj\windows\intern\bsp\debug\libbsp.lib" -# Begin Special Build Tool -SOURCE="$(InputPath)" -PostBuild_Cmds=ECHO Copying header files XCOPY /Y ..\..\extern\*.h ..\..\..\..\..\lib\windows\bsp\include\ ECHO Copying lib XCOPY /Y ..\..\..\..\obj\windows\intern\bsp\debug\*.lib ..\..\..\..\..\lib\windows\bsp\lib\debug\*.a ECHO Copying Debug info. XCOPY /Y ..\..\..\..\obj\windows\intern\bsp\debug\vc60.* ..\..\..\..\..\lib\windows\bsp\lib\debug\ ECHO Done -# End Special Build Tool - -!ENDIF - -# Begin Target - -# Name "bsplib - Win32 Release" -# Name "bsplib - Win32 Debug" -# Begin Group "intern" - -# PROP Default_Filter "" -# Begin Source File - -SOURCE=..\..\intern\BSP_CSGException.h -# End Source File -# Begin Source File - -SOURCE=..\..\intern\BSP_CSGISplitter.h -# End Source File -# Begin Source File - -SOURCE=..\..\intern\BSP_CSGMesh.cpp -# End Source File -# Begin Source File - -SOURCE=..\..\intern\BSP_CSGMesh.h -# End Source File -# Begin Source File - -SOURCE=..\..\intern\BSP_CSGMesh_CFIterator.h -# End Source File -# Begin Source File - -SOURCE=..\..\intern\BSP_MeshPrimitives.cpp -# End Source File -# Begin Source File - -SOURCE=..\..\intern\BSP_MeshPrimitives.h -# End Source File -# Begin Source File - -SOURCE=..\..\intern\CSG_BooleanOps.cpp -# End Source File -# End Group -# Begin Group "extern" - -# PROP Default_Filter "" -# Begin Source File - -SOURCE=..\..\extern\CSG_BooleanOps.h -# End Source File -# End Group -# End Target -# End Project diff --git a/intern/bsp/make/msvc6_0/bsplib.dsw b/intern/bsp/make/msvc6_0/bsplib.dsw deleted file mode 100644 index de8cdcd1d33..00000000000 --- a/intern/bsp/make/msvc6_0/bsplib.dsw +++ /dev/null @@ -1,29 +0,0 @@ -Microsoft Developer Studio Workspace File, Format Version 6.00 -# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE! - -############################################################################### - -Project: "bsplib"=.\bsplib.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Global: - -Package=<5> -{{{ -}}} - -Package=<3> -{{{ -}}} - -############################################################################### - diff --git a/intern/bsp/make/msvc_7_0/bsplib.sln b/intern/bsp/make/msvc_7_0/bsplib.sln deleted file mode 100644 index e8c116b639e..00000000000 --- a/intern/bsp/make/msvc_7_0/bsplib.sln +++ /dev/null @@ -1,21 +0,0 @@ -Microsoft Visual Studio Solution File, Format Version 7.00 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "bsplib", "bsplib.vcproj", "{20F0EE62-A21A-46B7-B425-7923F4674B4F}" -EndProject -Global - GlobalSection(SolutionConfiguration) = preSolution - ConfigName.0 = Debug - ConfigName.1 = Release - EndGlobalSection - GlobalSection(ProjectDependencies) = postSolution - EndGlobalSection - GlobalSection(ProjectConfiguration) = postSolution - {20F0EE62-A21A-46B7-B425-7923F4674B4F}.Debug.ActiveCfg = Debug|Win32 - {20F0EE62-A21A-46B7-B425-7923F4674B4F}.Debug.Build.0 = Debug|Win32 - {20F0EE62-A21A-46B7-B425-7923F4674B4F}.Release.ActiveCfg = Release|Win32 - {20F0EE62-A21A-46B7-B425-7923F4674B4F}.Release.Build.0 = Release|Win32 - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - EndGlobalSection - GlobalSection(ExtensibilityAddIns) = postSolution - EndGlobalSection -EndGlobal diff --git a/intern/bsp/make/msvc_7_0/bsplib.vcproj b/intern/bsp/make/msvc_7_0/bsplib.vcproj deleted file mode 100644 index 59fb9f3691d..00000000000 --- a/intern/bsp/make/msvc_7_0/bsplib.vcproj +++ /dev/null @@ -1,282 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/intern/bsp/make/msvc_9_0/bsplib.vcproj b/intern/bsp/make/msvc_9_0/bsplib.vcproj deleted file mode 100644 index ed6978b8229..00000000000 --- a/intern/bsp/make/msvc_9_0/bsplib.vcproj +++ /dev/null @@ -1,372 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/intern/container/make/msvc_6_0/container.dsp b/intern/container/make/msvc_6_0/container.dsp deleted file mode 100644 index ac565c4c1ec..00000000000 --- a/intern/container/make/msvc_6_0/container.dsp +++ /dev/null @@ -1,133 +0,0 @@ -# Microsoft Developer Studio Project File - Name="container" - Package Owner=<4> -# Microsoft Developer Studio Generated Build File, Format Version 6.00 -# ** DO NOT EDIT ** - -# TARGTYPE "Win32 (x86) Static Library" 0x0104 - -CFG=container - Win32 Debug -!MESSAGE This is not a valid makefile. To build this project using NMAKE, -!MESSAGE use the Export Makefile command and run -!MESSAGE -!MESSAGE NMAKE /f "container.mak". -!MESSAGE -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "container.mak" CFG="container - Win32 Debug" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "container - Win32 Release" (based on "Win32 (x86) Static Library") -!MESSAGE "container - Win32 Debug" (based on "Win32 (x86) Static Library") -!MESSAGE - -# Begin Project -# PROP AllowPerConfigDependencies 0 -# PROP Scc_ProjName "" -# PROP Scc_LocalPath "" -CPP=cl.exe -RSC=rc.exe - -!IF "$(CFG)" == "container - Win32 Release" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "Release" -# PROP BASE Intermediate_Dir "Release" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "..\..\..\..\obj\windows\intern\container" -# PROP Intermediate_Dir "..\..\..\..\obj\windows\intern\container" -# PROP Target_Dir "" -LINK32=link.exe -lib -# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c -# ADD CPP /nologo /MT /W3 /GX /O2 /Ob2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c -# ADD BASE RSC /l 0x413 /d "NDEBUG" -# ADD RSC /l 0x413 /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LIB32=link.exe -lib -# ADD BASE LIB32 /nologo -# ADD LIB32 /nologo /out:"../../../../obj/windows/intern/container/libcontainer.lib" -# Begin Special Build Tool -SOURCE="$(InputPath)" -PostBuild_Cmds=ECHO Copying header files XCOPY /Y ..\..\*.h ..\..\..\..\..\lib\windows\container\include\ ECHO Copying lib XCOPY /Y ..\..\..\..\obj\windows\intern\container\*.lib ..\..\..\..\..\lib\windows\container\lib\*.a ECHO Done -# End Special Build Tool - -!ELSEIF "$(CFG)" == "container - Win32 Debug" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "Debug" -# PROP BASE Intermediate_Dir "Debug" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "..\..\..\..\obj\windows\intern\container\debug" -# PROP Intermediate_Dir "..\..\..\..\obj\windows\intern\container\debug" -# PROP Target_Dir "" -LINK32=link.exe -lib -# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c -# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c -# ADD BASE RSC /l 0x413 /d "_DEBUG" -# ADD RSC /l 0x413 /d "_DEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LIB32=link.exe -lib -# ADD BASE LIB32 /nologo -# ADD LIB32 /nologo /out:"..\..\..\..\obj\windows\intern\container\debug\libcontainer.lib" -# Begin Special Build Tool -SOURCE="$(InputPath)" -PostBuild_Cmds=ECHO Copying header files XCOPY /Y ..\..\*.h ..\..\..\..\..\lib\windows\container\include\ ECHO Copying lib XCOPY /Y ..\..\..\..\obj\windows\intern\container\debug\*.lib ..\..\..\..\..\lib\windows\container\lib\debug\*.a ECHO Copying Debug info. XCOPY /Y ..\..\..\..\obj\windows\intern\container\debug\vc60.* ..\..\..\..\..\lib\windows\container\lib\debug\ ECHO Done -# End Special Build Tool - -!ENDIF - -# Begin Target - -# Name "container - Win32 Release" -# Name "container - Win32 Debug" -# Begin Group "intern" - -# PROP Default_Filter "" -# Begin Source File - -SOURCE=..\..\intern\CTR_List.cpp - -!IF "$(CFG)" == "container - Win32 Release" - -# ADD CPP /I "../extern" /I "../../" - -!ELSEIF "$(CFG)" == "container - Win32 Debug" - -# ADD CPP /I "../../" - -!ENDIF - -# End Source File -# End Group -# Begin Source File - -SOURCE=..\..\CTR_List.h -# End Source File -# Begin Source File - -SOURCE=..\..\CTR_Map.h -# End Source File -# Begin Source File - -SOURCE=..\..\CTR_TaggedIndex.h -# End Source File -# Begin Source File - -SOURCE=..\..\CTR_TaggedSetOps.h -# End Source File -# Begin Source File - -SOURCE=..\..\CTR_UHeap.h -# End Source File -# End Target -# End Project diff --git a/intern/container/make/msvc_6_0/container.dsw b/intern/container/make/msvc_6_0/container.dsw deleted file mode 100644 index ed9604641fb..00000000000 --- a/intern/container/make/msvc_6_0/container.dsw +++ /dev/null @@ -1,29 +0,0 @@ -Microsoft Developer Studio Workspace File, Format Version 6.00 -# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE! - -############################################################################### - -Project: "container"=.\container.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Global: - -Package=<5> -{{{ -}}} - -Package=<3> -{{{ -}}} - -############################################################################### - diff --git a/intern/container/make/msvc_7_0/container.sln b/intern/container/make/msvc_7_0/container.sln deleted file mode 100644 index 16ce8e35563..00000000000 --- a/intern/container/make/msvc_7_0/container.sln +++ /dev/null @@ -1,21 +0,0 @@ -Microsoft Visual Studio Solution File, Format Version 7.00 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "container", "container.vcproj", "{E9E5B187-2E50-4DD7-9577-327FE6C9E6B0}" -EndProject -Global - GlobalSection(SolutionConfiguration) = preSolution - ConfigName.0 = Debug - ConfigName.1 = Release - EndGlobalSection - GlobalSection(ProjectDependencies) = postSolution - EndGlobalSection - GlobalSection(ProjectConfiguration) = postSolution - {E9E5B187-2E50-4DD7-9577-327FE6C9E6B0}.Debug.ActiveCfg = Debug|Win32 - {E9E5B187-2E50-4DD7-9577-327FE6C9E6B0}.Debug.Build.0 = Debug|Win32 - {E9E5B187-2E50-4DD7-9577-327FE6C9E6B0}.Release.ActiveCfg = Release|Win32 - {E9E5B187-2E50-4DD7-9577-327FE6C9E6B0}.Release.Build.0 = Release|Win32 - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - EndGlobalSection - GlobalSection(ExtensibilityAddIns) = postSolution - EndGlobalSection -EndGlobal diff --git a/intern/container/make/msvc_7_0/container.vcproj b/intern/container/make/msvc_7_0/container.vcproj deleted file mode 100644 index 2aefffb6a60..00000000000 --- a/intern/container/make/msvc_7_0/container.vcproj +++ /dev/null @@ -1,292 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/intern/container/make/msvc_9_0/container.vcproj b/intern/container/make/msvc_9_0/container.vcproj deleted file mode 100644 index 76bc56f413f..00000000000 --- a/intern/container/make/msvc_9_0/container.vcproj +++ /dev/null @@ -1,388 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/intern/decimation/make/msvc_6_0/decimation.dsp b/intern/decimation/make/msvc_6_0/decimation.dsp deleted file mode 100644 index 40b65a032db..00000000000 --- a/intern/decimation/make/msvc_6_0/decimation.dsp +++ /dev/null @@ -1,186 +0,0 @@ -# Microsoft Developer Studio Project File - Name="decimation" - Package Owner=<4> -# Microsoft Developer Studio Generated Build File, Format Version 6.00 -# ** DO NOT EDIT ** - -# TARGTYPE "Win32 (x86) Static Library" 0x0104 - -CFG=decimation - Win32 Debug -!MESSAGE This is not a valid makefile. To build this project using NMAKE, -!MESSAGE use the Export Makefile command and run -!MESSAGE -!MESSAGE NMAKE /f "decimation.mak". -!MESSAGE -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "decimation.mak" CFG="decimation - Win32 Debug" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "decimation - Win32 Release" (based on "Win32 (x86) Static Library") -!MESSAGE "decimation - Win32 Debug" (based on "Win32 (x86) Static Library") -!MESSAGE - -# Begin Project -# PROP AllowPerConfigDependencies 0 -# PROP Scc_ProjName "" -# PROP Scc_LocalPath "" -CPP=cl.exe -RSC=rc.exe - -!IF "$(CFG)" == "decimation - Win32 Release" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "Release" -# PROP BASE Intermediate_Dir "Release" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "..\..\..\..\obj\windows\intern\decimation" -# PROP Intermediate_Dir "..\..\..\..\obj\windows\intern\decimation" -# PROP Target_Dir "" -LINK32=link.exe -lib -# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c -# ADD CPP /nologo /W3 /GX /O2 /Ob2 /I "..\..\..\..\..\lib\windows\container\include\\" /I "..\..\..\..\..\lib\windows\memutil\include\\" /I "..\..\..\..\..\lib\windows\moto\include\\" /I"..\..\..\moto\include" /I"..\..\..\memutil" /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /FD /c -# ADD BASE RSC /l 0x413 /d "NDEBUG" -# ADD RSC /l 0x413 /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LIB32=link.exe -lib -# ADD BASE LIB32 /nologo -# ADD LIB32 /nologo /out:"..\..\..\..\obj\windows\intern\decimation\libdecimation.lib" -# Begin Special Build Tool -SOURCE="$(InputPath)" -PostBuild_Cmds=ECHO Copying header files XCOPY /Y ..\..\extern\*.h ..\..\..\..\..\lib\windows\decimation\include\ ECHO Copying lib XCOPY /Y ..\..\..\..\obj\windows\intern\decimation\*.lib ..\..\..\..\..\lib\windows\decimation\lib\*.a ECHO Done -# End Special Build Tool - -!ELSEIF "$(CFG)" == "decimation - Win32 Debug" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "Debug" -# PROP BASE Intermediate_Dir "Debug" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "..\..\..\..\obj\windows\intern\decimation\debug" -# PROP Intermediate_Dir "..\..\..\..\obj\windows\intern\decimation\debug" -# PROP Target_Dir "" -LINK32=link.exe -lib -# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c -# ADD CPP /nologo /W4 /Gm /GX /ZI /Od /I "..\..\..\..\..\lib\windows\container\include\\" /I "..\..\..\..\..\lib\windows\memutil\include\\" /I "..\..\..\..\..\lib\windows\moto\include\\" /I"..\..\..\moto\include" /I"..\..\..\memutil" /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /FD /GZ /c -# ADD BASE RSC /l 0x413 /d "_DEBUG" -# ADD RSC /l 0x413 /d "_DEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LIB32=link.exe -lib -# ADD BASE LIB32 /nologo -# ADD LIB32 /nologo /out:"..\..\..\..\obj\windows\intern\decimation\debug\libdecimation.lib" -# Begin Special Build Tool -SOURCE="$(InputPath)" -PostBuild_Cmds=ECHO Copying header files XCOPY /Y ..\..\extern\*.h ..\..\..\..\..\lib\windows\decimation\include\ ECHO Copying lib XCOPY /Y ..\..\..\..\obj\windows\intern\decimation\debug\*.lib ..\..\..\..\..\lib\windows\decimation\lib\debug\*.a ECHO Copying Debug info. XCOPY /Y ..\..\..\..\obj\windows\intern\decimation\debug\vc60.* ..\..\..\..\..\lib\windows\decimation\lib\debug\ ECHO Done -# End Special Build Tool - -!ENDIF - -# Begin Target - -# Name "decimation - Win32 Release" -# Name "decimation - Win32 Debug" -# Begin Group "intern" - -# PROP Default_Filter "" -# Begin Source File - -SOURCE=..\..\intern\LOD_decimation.cpp -# End Source File -# Begin Source File - -SOURCE=..\..\intern\LOD_DecimationClass.h -# End Source File -# Begin Source File - -SOURCE=..\..\intern\LOD_EdgeCollapser.cpp -# End Source File -# Begin Source File - -SOURCE=..\..\intern\LOD_EdgeCollapser.h -# End Source File -# Begin Source File - -SOURCE=..\..\intern\LOD_ExternBufferEditor.h -# End Source File -# Begin Source File - -SOURCE=..\..\intern\LOD_ExternNormalEditor.cpp -# End Source File -# Begin Source File - -SOURCE=..\..\intern\LOD_ExternNormalEditor.h -# End Source File -# Begin Source File - -SOURCE=..\..\intern\LOD_FaceNormalEditor.cpp -# End Source File -# Begin Source File - -SOURCE=..\..\intern\LOD_FaceNormalEditor.h -# End Source File -# Begin Source File - -SOURCE=..\..\intern\LOD_ManMesh2.cpp -# End Source File -# Begin Source File - -SOURCE=..\..\intern\LOD_ManMesh2.h -# End Source File -# Begin Source File - -SOURCE=..\..\intern\LOD_MeshBounds.h -# End Source File -# Begin Source File - -SOURCE=..\..\intern\LOD_MeshException.h -# End Source File -# Begin Source File - -SOURCE=..\..\intern\LOD_MeshPrimitives.cpp -# End Source File -# Begin Source File - -SOURCE=..\..\intern\LOD_MeshPrimitives.h -# End Source File -# Begin Source File - -SOURCE=..\..\intern\LOD_QSDecimator.cpp -# End Source File -# Begin Source File - -SOURCE=..\..\intern\LOD_QSDecimator.h -# End Source File -# Begin Source File - -SOURCE=..\..\intern\LOD_Quadric.h -# End Source File -# Begin Source File - -SOURCE=..\..\intern\LOD_QuadricEditor.cpp -# End Source File -# Begin Source File - -SOURCE=..\..\intern\LOD_QuadricEditor.h -# End Source File -# End Group -# Begin Group "extern" - -# PROP Default_Filter "" -# Begin Source File - -SOURCE=..\..\extern\LOD_decimation.h -# End Source File -# End Group -# End Target -# End Project diff --git a/intern/decimation/make/msvc_6_0/decimation.dsw b/intern/decimation/make/msvc_6_0/decimation.dsw deleted file mode 100644 index d46268c2545..00000000000 --- a/intern/decimation/make/msvc_6_0/decimation.dsw +++ /dev/null @@ -1,33 +0,0 @@ -Microsoft Developer Studio Workspace File, Format Version 6.00 -# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE! - -############################################################################### - -Project: "decimation"=.\decimation.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Global: - -Package=<5> -{{{ -}}} - -Package=<3> -{{{ -}}} - -############################################################################### - - - - - diff --git a/intern/decimation/make/msvc_7_0/decimation.sln b/intern/decimation/make/msvc_7_0/decimation.sln deleted file mode 100644 index 8760ff74f8a..00000000000 --- a/intern/decimation/make/msvc_7_0/decimation.sln +++ /dev/null @@ -1,21 +0,0 @@ -Microsoft Visual Studio Solution File, Format Version 7.00 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "decimation", "decimation.vcproj", "{95ED18F3-8A76-4DB9-BDAC-12C7592EFE44}" -EndProject -Global - GlobalSection(SolutionConfiguration) = preSolution - ConfigName.0 = Debug - ConfigName.1 = Release - EndGlobalSection - GlobalSection(ProjectDependencies) = postSolution - EndGlobalSection - GlobalSection(ProjectConfiguration) = postSolution - {95ED18F3-8A76-4DB9-BDAC-12C7592EFE44}.Debug.ActiveCfg = Debug|Win32 - {95ED18F3-8A76-4DB9-BDAC-12C7592EFE44}.Debug.Build.0 = Debug|Win32 - {95ED18F3-8A76-4DB9-BDAC-12C7592EFE44}.Release.ActiveCfg = Release|Win32 - {95ED18F3-8A76-4DB9-BDAC-12C7592EFE44}.Release.Build.0 = Release|Win32 - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - EndGlobalSection - GlobalSection(ExtensibilityAddIns) = postSolution - EndGlobalSection -EndGlobal diff --git a/intern/decimation/make/msvc_7_0/decimation.vcproj b/intern/decimation/make/msvc_7_0/decimation.vcproj deleted file mode 100644 index 41bd355db5d..00000000000 --- a/intern/decimation/make/msvc_7_0/decimation.vcproj +++ /dev/null @@ -1,321 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/intern/decimation/make/msvc_9_0/decimation.vcproj b/intern/decimation/make/msvc_9_0/decimation.vcproj deleted file mode 100644 index a75332857ad..00000000000 --- a/intern/decimation/make/msvc_9_0/decimation.vcproj +++ /dev/null @@ -1,424 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/intern/elbeem/make/msvc_6_0/elbeem.dsp b/intern/elbeem/make/msvc_6_0/elbeem.dsp deleted file mode 100644 index 652687ca82b..00000000000 --- a/intern/elbeem/make/msvc_6_0/elbeem.dsp +++ /dev/null @@ -1,290 +0,0 @@ -# Microsoft Developer Studio Project File - Name="elbeem" - Package Owner=<4> -# Microsoft Developer Studio Generated Build File, Format Version 6.00 -# ** DO NOT EDIT ** - -# TARGTYPE "Win32 (x86) Static Library" 0x0104 - -CFG=elbeem - Win32 Debug -!MESSAGE This is not a valid makefile. To build this project using NMAKE, -!MESSAGE use the Export Makefile command and run -!MESSAGE -!MESSAGE NMAKE /f "elbeem.mak". -!MESSAGE -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "elbeem.mak" CFG="elbeem - Win32 Debug" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "elbeem - Win32 Release" (based on "Win32 (x86) Static Library") -!MESSAGE "elbeem - Win32 Debug" (based on "Win32 (x86) Static Library") -!MESSAGE - -# Begin Project -# PROP AllowPerConfigDependencies 0 -# PROP Scc_ProjName "" -# PROP Scc_LocalPath "" -CPP=cl.exe -RSC=rc.exe - -!IF "$(CFG)" == "elbeem - Win32 Release" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "Release" -# PROP BASE Intermediate_Dir "Release" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "Release" -# PROP Intermediate_Dir "Release" -# PROP Target_Dir "" -LINK32=link.exe -lib -# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c -# ADD CPP /nologo /MT /W3 /GX /I "../../../../../lib/windows/sdl/include" /I "../../../../../lib/windows/zlib/include" /I "../../../../../lib/windows/png/include" /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /D "NOGUI" /D "ELBEEM_BLENDER" /YX /FD /c -# ADD BASE RSC /l 0x407 /d "NDEBUG" -# ADD RSC /l 0x407 /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LIB32=link.exe -lib -# ADD BASE LIB32 /nologo -# ADD LIB32 /nologo /out:"Release\blender_elbeem.lib" -# Begin Special Build Tool -SOURCE="$(InputPath)" -PostBuild_Cmds=ECHO copy to lib ... xcopy /Y .\release\blender_elbeem.lib ..\..\..\..\..\lib\windows\elbeem\lib\*.* -# End Special Build Tool - -!ELSEIF "$(CFG)" == "elbeem - Win32 Debug" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "Debug" -# PROP BASE Intermediate_Dir "Debug" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "Debug" -# PROP Intermediate_Dir "Debug" -# PROP Target_Dir "" -LINK32=link.exe -lib -# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c -# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "../../../../../lib/windows/sdl/include" /I "../../../../../lib/windows/zlib/include" /I "../../../../../lib/windows/png/include" /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /D "NOGUI" /D "ELBEEM_BLENDER" /YX /FD /GZ /c -# ADD BASE RSC /l 0x407 /d "_DEBUG" -# ADD RSC /l 0x407 /d "_DEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LIB32=link.exe -lib -# ADD BASE LIB32 /nologo -# ADD LIB32 /nologo /out:"Debug\blender_elbeem.lib" -# Begin Special Build Tool -SOURCE="$(InputPath)" -PostBuild_Cmds=ECHO copy to lib ... xcopy /Y .\debug\blender_elbeem.lib ..\..\..\..\..\lib\windows\elbeem\lib\debug\*.* -# End Special Build Tool - -!ENDIF - -# Begin Target - -# Name "elbeem - Win32 Release" -# Name "elbeem - Win32 Debug" -# Begin Group "Source Files" - -# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" -# Begin Source File - -SOURCE=..\..\intern\attributes.cpp -# End Source File -# Begin Source File - -SOURCE=..\..\intern\elbeem.cpp -# End Source File -# Begin Source File - -SOURCE=..\..\intern\isosurface.cpp -# End Source File -# Begin Source File - -SOURCE=..\..\intern\ntl_blenderdumper.cpp -# End Source File -# Begin Source File - -SOURCE=..\..\intern\ntl_bsptree.cpp -# End Source File -# Begin Source File - -SOURCE=..\..\intern\ntl_geometrymodel.cpp -# End Source File -# Begin Source File - -SOURCE=..\..\intern\ntl_geometryobject.cpp -# End Source File -# Begin Source File - -SOURCE=..\..\intern\ntl_lighting.cpp -# End Source File -# Begin Source File - -SOURCE=..\..\intern\ntl_ray.cpp -# End Source File -# Begin Source File - -SOURCE=..\..\intern\ntl_world.cpp -# End Source File -# Begin Source File - -SOURCE=..\..\intern\parametrizer.cpp -# End Source File -# Begin Source File - -SOURCE=..\..\intern\particletracer.cpp -# End Source File -# Begin Source File - -SOURCE=..\..\intern\simulation_object.cpp -# End Source File -# Begin Source File - -SOURCE=..\..\intern\solver_adap.cpp -# End Source File -# Begin Source File - -SOURCE=..\..\intern\solver_init.cpp -# End Source File -# Begin Source File - -SOURCE=..\..\intern\solver_interface.cpp -# End Source File -# Begin Source File - -SOURCE=..\..\intern\solver_main.cpp -# End Source File -# Begin Source File - -SOURCE=..\..\intern\solver_util.cpp -# End Source File -# Begin Source File - -SOURCE=..\..\intern\utilities.cpp -# End Source File -# End Group -# Begin Group "Header Files" - -# PROP Default_Filter "h;hpp;hxx;hm;inl" -# Begin Source File - -SOURCE=..\..\intern\attributes.h -# End Source File -# Begin Source File - -SOURCE=..\..\intern\isosurface.h -# End Source File -# Begin Source File - -SOURCE=..\..\intern\mcubes_tables.h -# End Source File -# Begin Source File - -SOURCE=..\..\intern\ntl_blenderdumper.h -# End Source File -# Begin Source File - -SOURCE=..\..\intern\ntl_bsptree.h -# End Source File -# Begin Source File - -SOURCE=..\..\intern\ntl_geometryclass.h -# End Source File -# Begin Source File - -SOURCE=..\..\intern\ntl_geometrymodel.h -# End Source File -# Begin Source File - -SOURCE=..\..\intern\ntl_geometryobject.h -# End Source File -# Begin Source File - -SOURCE=..\..\intern\ntl_geometryshader.h -# End Source File -# Begin Source File - -SOURCE=..\..\intern\ntl_lighting.h -# End Source File -# Begin Source File - -SOURCE=..\..\intern\ntl_lightobject.h -# End Source File -# Begin Source File - -SOURCE=..\..\intern\ntl_material.h -# End Source File -# Begin Source File - -SOURCE=..\..\intern\ntl_matrices.h -# End Source File -# Begin Source File - -SOURCE=..\..\intern\ntl_ray.h -# End Source File -# Begin Source File - -SOURCE=..\..\intern\ntl_renderglobals.h -# End Source File -# Begin Source File - -SOURCE=..\..\intern\ntl_rndstream.h -# End Source File -# Begin Source File - -SOURCE=..\..\intern\ntl_scene.h -# End Source File -# Begin Source File - -SOURCE=..\..\intern\ntl_triangle.h -# End Source File -# Begin Source File - -SOURCE=..\..\intern\ntl_vector3dim.h -# End Source File -# Begin Source File - -SOURCE=..\..\intern\ntl_world.h -# End Source File -# Begin Source File - -SOURCE=..\..\intern\parametrizer.h -# End Source File -# Begin Source File - -SOURCE=..\..\intern\particletracer.h -# End Source File -# Begin Source File - -SOURCE=..\..\intern\simulation_object.h -# End Source File -# Begin Source File - -SOURCE=..\..\intern\solver_class.h -# End Source File -# Begin Source File - -SOURCE=..\..\intern\solver_dimenions.h -# End Source File -# Begin Source File - -SOURCE=..\..\intern\solver_interface.h -# End Source File -# Begin Source File - -SOURCE=..\..\intern\solver_relax.h -# End Source File -# Begin Source File - -SOURCE=..\..\intern\utilities.h -# End Source File -# End Group -# End Target -# End Project diff --git a/intern/elbeem/make/msvc_7_0/elbeem.vcproj b/intern/elbeem/make/msvc_7_0/elbeem.vcproj deleted file mode 100644 index 958d74f8fa0..00000000000 --- a/intern/elbeem/make/msvc_7_0/elbeem.vcproj +++ /dev/null @@ -1,391 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/intern/elbeem/make/msvc_9_0/elbeem.vcproj b/intern/elbeem/make/msvc_9_0/elbeem.vcproj deleted file mode 100644 index 2369a76fff0..00000000000 --- a/intern/elbeem/make/msvc_9_0/elbeem.vcproj +++ /dev/null @@ -1,525 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/intern/ghost/make/msvc/ghost.dsp b/intern/ghost/make/msvc/ghost.dsp deleted file mode 100644 index 741d1c3a247..00000000000 --- a/intern/ghost/make/msvc/ghost.dsp +++ /dev/null @@ -1,292 +0,0 @@ -# Microsoft Developer Studio Project File - Name="ghost" - Package Owner=<4> -# Microsoft Developer Studio Generated Build File, Format Version 6.00 -# ** DO NOT EDIT ** - -# TARGTYPE "Win32 (x86) Static Library" 0x0104 - -CFG=ghost - Win32 Debug -!MESSAGE This is not a valid makefile. To build this project using NMAKE, -!MESSAGE use the Export Makefile command and run -!MESSAGE -!MESSAGE NMAKE /f "ghost.mak". -!MESSAGE -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "ghost.mak" CFG="ghost - Win32 Debug" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "ghost - Win32 Release" (based on "Win32 (x86) Static Library") -!MESSAGE "ghost - Win32 Debug" (based on "Win32 (x86) Static Library") -!MESSAGE - -# Begin Project -# PROP AllowPerConfigDependencies 0 -# PROP Scc_ProjName "" -# PROP Scc_LocalPath "" -CPP=cl.exe -RSC=rc.exe - -!IF "$(CFG)" == "ghost - Win32 Release" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "Release" -# PROP BASE Intermediate_Dir "Release" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "..\..\..\..\obj\windows\intern\ghost" -# PROP Intermediate_Dir "..\..\..\..\obj\windows\intern\ghost" -# PROP Target_Dir "" -LINK32=link.exe -lib -# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c -# ADD CPP /nologo /MT /W3 /GX /O2 /I "../.." /I "../../../../../lib/windows/string/include" /I "..\..\..\..\intern\string" /I "../../../../../lib/windows/wintab/include" /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c -# ADD BASE RSC /l 0x409 /d "NDEBUG" -# ADD RSC /l 0x409 /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LIB32=link.exe -lib -# ADD BASE LIB32 /nologo -# ADD LIB32 /nologo /out:"..\..\..\..\obj\windows\intern\ghost\libghost.lib" -# Begin Special Build Tool -SOURCE="$(InputPath)" -PostBuild_Desc=Copying GHOST files library (release target) to lib tree. -PostBuild_Cmds=ECHO Copying header files XCOPY /Y ..\..\*.h ..\..\..\..\..\lib\windows\ghost\include\ ECHO Copying lib XCOPY /Y ..\..\..\..\obj\windows\intern\ghost\*.lib ..\..\..\..\..\lib\windows\ghost\lib\*.a ECHO Done -# End Special Build Tool - -!ELSEIF "$(CFG)" == "ghost - Win32 Debug" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "Debug" -# PROP BASE Intermediate_Dir "Debug" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "..\..\..\..\obj\windows\intern\ghost\debug" -# PROP Intermediate_Dir "..\..\..\..\obj\windows\intern\ghost\debug" -# PROP Target_Dir "" -LINK32=link.exe -lib -# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c -# ADD CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /I "../.." /I "../../../../../lib/windows/string/include" /I "..\..\..\..\intern\string" /I "../../../../../lib/windows/wintab/include" /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /FR /YX /FD /GZ /c -# ADD BASE RSC /l 0x409 /d "_DEBUG" -# ADD RSC /l 0x409 /d "_DEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LIB32=link.exe -lib -# ADD BASE LIB32 /nologo -# ADD LIB32 /nologo /out:"..\..\..\..\obj\windows\intern\ghost\debug\libghost.lib" -# Begin Special Build Tool -SOURCE="$(InputPath)" -PostBuild_Desc=Copying GHOST files library (debug target) to lib tree. -PostBuild_Cmds=ECHO Copying header files XCOPY /Y ..\..\*.h ..\..\..\..\..\lib\windows\ghost\include\ ECHO Copying lib XCOPY /Y ..\..\..\..\obj\windows\intern\ghost\debug\*.lib ..\..\..\..\..\lib\windows\ghost\lib\debug\*.a ECHO Done -# End Special Build Tool - -!ENDIF - -# Begin Target - -# Name "ghost - Win32 Release" -# Name "ghost - Win32 Debug" -# Begin Group "Header Files" - -# PROP Default_Filter "" -# Begin Group "intern" - -# PROP Default_Filter "" -# Begin Source File - -SOURCE=..\..\intern\GHOST_Buttons.h -# End Source File -# Begin Source File - -SOURCE=..\..\intern\GHOST_CallbackEventConsumer.h -# End Source File -# Begin Source File - -SOURCE=..\..\intern\GHOST_Debug.h -# End Source File -# Begin Source File - -SOURCE=..\..\intern\GHOST_DisplayManager.h -# End Source File -# Begin Source File - -SOURCE=..\..\intern\GHOST_DisplayManagerWin32.h -# End Source File -# Begin Source File - -SOURCE=..\..\intern\GHOST_Event.h -# End Source File -# Begin Source File - -SOURCE=..\..\intern\GHOST_EventButton.h -# End Source File -# Begin Source File - -SOURCE=..\..\intern\GHOST_EventCursor.h -# End Source File -# Begin Source File - -SOURCE=..\..\intern\GHOST_EventKey.h -# End Source File -# Begin Source File - -SOURCE=..\..\intern\GHOST_EventManager.h -# End Source File -# Begin Source File - -SOURCE=..\..\intern\GHOST_EventPrinter.h -# End Source File -# Begin Source File - -SOURCE=..\..\intern\GHOST_EventWheel.h -# End Source File -# Begin Source File - -SOURCE=..\..\intern\GHOST_EventWindow.h -# End Source File -# Begin Source File - -SOURCE=..\..\intern\GHOST_ModifierKeys.h -# End Source File -# Begin Source File - -SOURCE=..\..\intern\GHOST_System.h -# End Source File -# Begin Source File - -SOURCE=..\..\intern\GHOST_SystemWin32.h -# End Source File -# Begin Source File - -SOURCE=..\..\intern\GHOST_TimerManager.h -# End Source File -# Begin Source File - -SOURCE=..\..\intern\GHOST_TimerTask.h -# End Source File -# Begin Source File - -SOURCE=..\..\intern\GHOST_Window.h -# End Source File -# Begin Source File - -SOURCE=..\..\intern\GHOST_WindowManager.h -# End Source File -# Begin Source File - -SOURCE=..\..\intern\GHOST_WindowWin32.h -# End Source File -# End Group -# Begin Group "extern" - -# PROP Default_Filter "" -# Begin Source File - -SOURCE="..\..\GHOST_C-api.h" -# End Source File -# Begin Source File - -SOURCE=..\..\GHOST_IEvent.h -# End Source File -# Begin Source File - -SOURCE=..\..\GHOST_IEventConsumer.h -# End Source File -# Begin Source File - -SOURCE=..\..\GHOST_ISystem.h -# End Source File -# Begin Source File - -SOURCE=..\..\GHOST_ITimerTask.h -# End Source File -# Begin Source File - -SOURCE=..\..\GHOST_IWindow.h -# End Source File -# Begin Source File - -SOURCE=..\..\GHOST_Rect.h -# End Source File -# Begin Source File - -SOURCE=..\..\GHOST_Types.h -# End Source File -# End Group -# End Group -# Begin Group "Source Files" - -# PROP Default_Filter "" -# Begin Source File - -SOURCE=..\..\intern\GHOST_Buttons.cpp -# End Source File -# Begin Source File - -SOURCE="..\..\intern\GHOST_C-api.cpp" -# End Source File -# Begin Source File - -SOURCE=..\..\intern\GHOST_CallbackEventConsumer.cpp -# End Source File -# Begin Source File - -SOURCE=..\..\intern\GHOST_DisplayManager.cpp -# End Source File -# Begin Source File - -SOURCE=..\..\intern\GHOST_DisplayManagerWin32.cpp -# End Source File -# Begin Source File - -SOURCE=..\..\intern\GHOST_EventManager.cpp -# End Source File -# Begin Source File - -SOURCE=..\..\intern\GHOST_EventPrinter.cpp -# End Source File -# Begin Source File - -SOURCE=..\..\intern\GHOST_ISystem.cpp -# End Source File -# Begin Source File - -SOURCE=..\..\intern\GHOST_ModifierKeys.cpp -# End Source File -# Begin Source File - -SOURCE=..\..\intern\GHOST_Rect.cpp -# End Source File -# Begin Source File - -SOURCE=..\..\intern\GHOST_System.cpp -# End Source File -# Begin Source File - -SOURCE=..\..\intern\GHOST_SystemWin32.cpp -# End Source File -# Begin Source File - -SOURCE=..\..\intern\GHOST_TimerManager.cpp -# End Source File -# Begin Source File - -SOURCE=..\..\intern\GHOST_Window.cpp -# End Source File -# Begin Source File - -SOURCE=..\..\intern\GHOST_WindowManager.cpp -# End Source File -# Begin Source File - -SOURCE=..\..\intern\GHOST_WindowWin32.cpp -# End Source File -# End Group -# End Target -# End Project diff --git a/intern/ghost/make/msvc/ghost.dsw b/intern/ghost/make/msvc/ghost.dsw deleted file mode 100644 index a98e7644c11..00000000000 --- a/intern/ghost/make/msvc/ghost.dsw +++ /dev/null @@ -1,29 +0,0 @@ -Microsoft Developer Studio Workspace File, Format Version 6.00 -# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE! - -############################################################################### - -Project: "ghost"=".\ghost.dsp" - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Global: - -Package=<5> -{{{ -}}} - -Package=<3> -{{{ -}}} - -############################################################################### - diff --git a/intern/ghost/make/msvc_7_0/ghost.sln b/intern/ghost/make/msvc_7_0/ghost.sln deleted file mode 100644 index a2073664ca5..00000000000 --- a/intern/ghost/make/msvc_7_0/ghost.sln +++ /dev/null @@ -1,21 +0,0 @@ -Microsoft Visual Studio Solution File, Format Version 7.00 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ghost", "ghost.vcproj", "{37364341-0C53-433A-B4CC-CDDD176CABC5}" -EndProject -Global - GlobalSection(SolutionConfiguration) = preSolution - ConfigName.0 = Debug - ConfigName.1 = Release - EndGlobalSection - GlobalSection(ProjectDependencies) = postSolution - EndGlobalSection - GlobalSection(ProjectConfiguration) = postSolution - {37364341-0C53-433A-B4CC-CDDD176CABC5}.Debug.ActiveCfg = Debug|Win32 - {37364341-0C53-433A-B4CC-CDDD176CABC5}.Debug.Build.0 = Debug|Win32 - {37364341-0C53-433A-B4CC-CDDD176CABC5}.Release.ActiveCfg = Release|Win32 - {37364341-0C53-433A-B4CC-CDDD176CABC5}.Release.Build.0 = Release|Win32 - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - EndGlobalSection - GlobalSection(ExtensibilityAddIns) = postSolution - EndGlobalSection -EndGlobal diff --git a/intern/ghost/make/msvc_7_0/ghost.vcproj b/intern/ghost/make/msvc_7_0/ghost.vcproj deleted file mode 100644 index e5b2e09a678..00000000000 --- a/intern/ghost/make/msvc_7_0/ghost.vcproj +++ /dev/null @@ -1,410 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/intern/ghost/make/msvc_9_0/ghost.vcproj b/intern/ghost/make/msvc_9_0/ghost.vcproj deleted file mode 100644 index b51e14275c9..00000000000 --- a/intern/ghost/make/msvc_9_0/ghost.vcproj +++ /dev/null @@ -1,568 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/intern/ghost/test/make/msvc_6_0/gears.dsp b/intern/ghost/test/make/msvc_6_0/gears.dsp deleted file mode 100644 index e068231bf32..00000000000 --- a/intern/ghost/test/make/msvc_6_0/gears.dsp +++ /dev/null @@ -1,102 +0,0 @@ -# Microsoft Developer Studio Project File - Name="gears" - Package Owner=<4> -# Microsoft Developer Studio Generated Build File, Format Version 6.00 -# ** DO NOT EDIT ** - -# TARGTYPE "Win32 (x86) Console Application" 0x0103 - -CFG=gears - Win32 Release -!MESSAGE This is not a valid makefile. To build this project using NMAKE, -!MESSAGE use the Export Makefile command and run -!MESSAGE -!MESSAGE NMAKE /f "gears.mak". -!MESSAGE -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "gears.mak" CFG="gears - Win32 Release" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "gears - Win32 Release" (based on "Win32 (x86) Console Application") -!MESSAGE "gears - Win32 Debug" (based on "Win32 (x86) Console Application") -!MESSAGE - -# Begin Project -# PROP AllowPerConfigDependencies 0 -# PROP Scc_ProjName "" -# PROP Scc_LocalPath "" -CPP=cl.exe -RSC=rc.exe - -!IF "$(CFG)" == "gears - Win32 Release" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "Release" -# PROP BASE Intermediate_Dir "Release" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "../../../../../../obj/windows/intern/ghost/test/" -# PROP Intermediate_Dir "../../../../../../obj/windows/intern/ghost/test/" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c -# ADD CPP /nologo /MT /W3 /GX /O2 /I "../../.." /I "../../../../string" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c -# ADD BASE RSC /l 0x409 /d "NDEBUG" -# ADD RSC /l 0x409 /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 -# ADD LINK32 glu32.lib opengl32.lib user32.lib gdi32.lib /nologo /subsystem:console /machine:I386 - -!ELSEIF "$(CFG)" == "gears - Win32 Debug" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "Debug" -# PROP BASE Intermediate_Dir "Debug" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "../../../../../../obj/windows/intern/ghost/test/debug" -# PROP Intermediate_Dir "../../../../../../obj/windows/intern/ghost/test/debug" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c -# ADD CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /I "../../.." /I "../../../../string" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c -# ADD BASE RSC /l 0x409 /d "_DEBUG" -# ADD RSC /l 0x409 /d "_DEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept -# ADD LINK32 glu32.lib opengl32.lib user32.lib gdi32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept - -!ENDIF - -# Begin Target - -# Name "gears - Win32 Release" -# Name "gears - Win32 Debug" -# Begin Group "Source Files" - -# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" -# Begin Source File - -SOURCE=..\..\gears\GHOST_Test.cpp -# End Source File -# End Group -# Begin Group "Header Files" - -# PROP Default_Filter "h;hpp;hxx;hm;inl" -# End Group -# Begin Group "Resource Files" - -# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" -# End Group -# End Target -# End Project diff --git a/intern/ghost/test/make/msvc_6_0/gears_C.dsp b/intern/ghost/test/make/msvc_6_0/gears_C.dsp deleted file mode 100644 index df0ae0448fd..00000000000 --- a/intern/ghost/test/make/msvc_6_0/gears_C.dsp +++ /dev/null @@ -1,102 +0,0 @@ -# Microsoft Developer Studio Project File - Name="gears_C" - Package Owner=<4> -# Microsoft Developer Studio Generated Build File, Format Version 6.00 -# ** DO NOT EDIT ** - -# TARGTYPE "Win32 (x86) Console Application" 0x0103 - -CFG=gears_C - Win32 Release -!MESSAGE This is not a valid makefile. To build this project using NMAKE, -!MESSAGE use the Export Makefile command and run -!MESSAGE -!MESSAGE NMAKE /f "gears_C.mak". -!MESSAGE -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "gears_C.mak" CFG="gears_C - Win32 Release" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "gears_C - Win32 Release" (based on "Win32 (x86) Console Application") -!MESSAGE "gears_C - Win32 Debug" (based on "Win32 (x86) Console Application") -!MESSAGE - -# Begin Project -# PROP AllowPerConfigDependencies 0 -# PROP Scc_ProjName "" -# PROP Scc_LocalPath "" -CPP=cl.exe -RSC=rc.exe - -!IF "$(CFG)" == "gears_C - Win32 Release" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "Release" -# PROP BASE Intermediate_Dir "Release" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "../../../../../../obj/windows/intern/ghost/test/" -# PROP Intermediate_Dir "../../../../../../obj/windows/intern/ghost/test/" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c -# ADD CPP /nologo /MT /W3 /GX /O2 /I "../../.." /I "../../../../string" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c -# ADD BASE RSC /l 0x409 /d "NDEBUG" -# ADD RSC /l 0x409 /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 -# ADD LINK32 glu32.lib opengl32.lib user32.lib gdi32.lib /nologo /subsystem:console /machine:I386 - -!ELSEIF "$(CFG)" == "gears_C - Win32 Debug" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "Debug" -# PROP BASE Intermediate_Dir "Debug" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "../../../../../../obj/windows/intern/ghost/test/debug" -# PROP Intermediate_Dir "../../../../../../obj/windows/intern/ghost/test/debug" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c -# ADD CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /I "../../.." /I "../../../../string" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c -# ADD BASE RSC /l 0x409 /d "_DEBUG" -# ADD RSC /l 0x409 /d "_DEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept -# ADD LINK32 glu32.lib opengl32.lib user32.lib gdi32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept - -!ENDIF - -# Begin Target - -# Name "gears_C - Win32 Release" -# Name "gears_C - Win32 Debug" -# Begin Group "Source Files" - -# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" -# Begin Source File - -SOURCE="..\..\gears\GHOST_C-Test.c" -# End Source File -# End Group -# Begin Group "Header Files" - -# PROP Default_Filter "h;hpp;hxx;hm;inl" -# End Group -# Begin Group "Resource Files" - -# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" -# End Group -# End Target -# End Project diff --git a/intern/ghost/test/make/msvc_6_0/ghost_test.dsw b/intern/ghost/test/make/msvc_6_0/ghost_test.dsw deleted file mode 100644 index 7a56a3b5ef1..00000000000 --- a/intern/ghost/test/make/msvc_6_0/ghost_test.dsw +++ /dev/null @@ -1,77 +0,0 @@ -Microsoft Developer Studio Workspace File, Format Version 6.00 -# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE! - -############################################################################### - -Project: "gears"=.\gears.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ - Begin Project Dependency - Project_Dep_Name ghost - End Project Dependency - Begin Project Dependency - Project_Dep_Name string - End Project Dependency -}}} - -############################################################################### - -Project: "gears_C"=.\gears_C.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ - Begin Project Dependency - Project_Dep_Name ghost - End Project Dependency - Begin Project Dependency - Project_Dep_Name string - End Project Dependency -}}} - -############################################################################### - -Project: "ghost"=..\..\..\make\msvc\ghost.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "string"=..\..\..\..\string\make\msvc_6_0\string.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Global: - -Package=<5> -{{{ -}}} - -Package=<3> -{{{ -}}} - -############################################################################### - diff --git a/intern/guardedalloc/make/msvc_6_0/guardedalloc.dsp b/intern/guardedalloc/make/msvc_6_0/guardedalloc.dsp deleted file mode 100644 index 1c02b639a30..00000000000 --- a/intern/guardedalloc/make/msvc_6_0/guardedalloc.dsp +++ /dev/null @@ -1,114 +0,0 @@ -# Microsoft Developer Studio Project File - Name="guardedalloc" - Package Owner=<4> -# Microsoft Developer Studio Generated Build File, Format Version 6.00 -# ** DO NOT EDIT ** - -# TARGTYPE "Win32 (x86) Static Library" 0x0104 - -CFG=guardedalloc - Win32 Debug -!MESSAGE This is not a valid makefile. To build this project using NMAKE, -!MESSAGE use the Export Makefile command and run -!MESSAGE -!MESSAGE NMAKE /f "guardedalloc.mak". -!MESSAGE -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "guardedalloc.mak" CFG="guardedalloc - Win32 Debug" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "guardedalloc - Win32 Release" (based on "Win32 (x86) Static Library") -!MESSAGE "guardedalloc - Win32 Debug" (based on "Win32 (x86) Static Library") -!MESSAGE - -# Begin Project -# PROP AllowPerConfigDependencies 0 -# PROP Scc_ProjName "" -# PROP Scc_LocalPath "" -CPP=cl.exe -RSC=rc.exe - -!IF "$(CFG)" == "guardedalloc - Win32 Release" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "Release" -# PROP BASE Intermediate_Dir "Release" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "..\..\..\..\obj\windows\intern\guardedalloc\" -# PROP Intermediate_Dir "..\..\..\..\obj\windows\intern\guardedalloc\" -# PROP Target_Dir "" -LINK32=link.exe -lib -# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c -# ADD CPP /nologo /W3 /GX /O2 /I "..\.." /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c -# ADD BASE RSC /l 0x409 /d "NDEBUG" -# ADD RSC /l 0x409 /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LIB32=link.exe -lib -# ADD BASE LIB32 /nologo -# ADD LIB32 /nologo /out:"..\..\..\..\obj\windows\intern\guardedalloc\libguardedalloc.lib" -# Begin Special Build Tool -SOURCE="$(InputPath)" -PostBuild_Cmds=ECHO Copying header files XCOPY /Y ..\..\*.h ..\..\..\..\..\lib\windows\guardedalloc\include\ ECHO Copying lib XCOPY /Y ..\..\..\..\obj\windows\intern\guardedalloc\*.lib ..\..\..\..\..\lib\windows\guardedalloc\lib\*.a ECHO Done -# End Special Build Tool - -!ELSEIF "$(CFG)" == "guardedalloc - Win32 Debug" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "Debug" -# PROP BASE Intermediate_Dir "Debug" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "..\..\..\..\obj\windows\intern\guardedalloc\debug" -# PROP Intermediate_Dir "..\..\..\..\obj\windows\intern\guardedalloc\debug" -# PROP Target_Dir "" -LINK32=link.exe -lib -# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c -# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "..\.." /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c -# ADD BASE RSC /l 0x409 /d "_DEBUG" -# ADD RSC /l 0x409 /d "_DEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LIB32=link.exe -lib -# ADD BASE LIB32 /nologo -# ADD LIB32 /nologo /out:"..\..\..\..\obj\windows\intern\guardedalloc\debug\libguardedalloc.lib" -# Begin Special Build Tool -SOURCE="$(InputPath)" -PostBuild_Cmds=ECHO Copying header files XCOPY /Y ..\..\*.h ..\..\..\..\..\lib\windows\guardedalloc\include\ ECHO Copying lib XCOPY /Y ..\..\..\..\obj\windows\intern\guardedalloc\debug\*.lib ..\..\..\..\..\lib\windows\guardedalloc\lib\debug\*.a ECHO Done -# End Special Build Tool - -!ENDIF - -# Begin Target - -# Name "guardedalloc - Win32 Release" -# Name "guardedalloc - Win32 Debug" -# Begin Group "Source Files" - -# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" -# Begin Source File - -SOURCE=..\..\intern\mallocn.c -# End Source File -# End Group -# Begin Group "Header Files" - -# PROP Default_Filter "h;hpp;hxx;hm;inl" -# Begin Group "extern" - -# PROP Default_Filter "" -# Begin Source File - -SOURCE=..\..\MEM_guardedalloc.h -# End Source File -# End Group -# End Group -# End Target -# End Project diff --git a/intern/guardedalloc/make/msvc_7_0/guardedalloc.sln b/intern/guardedalloc/make/msvc_7_0/guardedalloc.sln deleted file mode 100644 index b2557eee949..00000000000 --- a/intern/guardedalloc/make/msvc_7_0/guardedalloc.sln +++ /dev/null @@ -1,21 +0,0 @@ -Microsoft Visual Studio Solution File, Format Version 7.00 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "guardedalloc", "guardedalloc.vcproj", "{1CC733F1-6AB5-4904-8F63-C08C46B79DD9}" -EndProject -Global - GlobalSection(SolutionConfiguration) = preSolution - ConfigName.0 = Debug - ConfigName.1 = Release - EndGlobalSection - GlobalSection(ProjectDependencies) = postSolution - EndGlobalSection - GlobalSection(ProjectConfiguration) = postSolution - {1CC733F1-6AB5-4904-8F63-C08C46B79DD9}.Debug.ActiveCfg = Debug|Win32 - {1CC733F1-6AB5-4904-8F63-C08C46B79DD9}.Debug.Build.0 = Debug|Win32 - {1CC733F1-6AB5-4904-8F63-C08C46B79DD9}.Release.ActiveCfg = Release|Win32 - {1CC733F1-6AB5-4904-8F63-C08C46B79DD9}.Release.Build.0 = Release|Win32 - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - EndGlobalSection - GlobalSection(ExtensibilityAddIns) = postSolution - EndGlobalSection -EndGlobal diff --git a/intern/guardedalloc/make/msvc_7_0/guardedalloc.vcproj b/intern/guardedalloc/make/msvc_7_0/guardedalloc.vcproj deleted file mode 100644 index 974acef4e70..00000000000 --- a/intern/guardedalloc/make/msvc_7_0/guardedalloc.vcproj +++ /dev/null @@ -1,282 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/intern/guardedalloc/make/msvc_9_0/guardedalloc.vcproj b/intern/guardedalloc/make/msvc_9_0/guardedalloc.vcproj deleted file mode 100644 index 16deb7b71fa..00000000000 --- a/intern/guardedalloc/make/msvc_9_0/guardedalloc.vcproj +++ /dev/null @@ -1,370 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/intern/iksolver/make/msvc_6_0/iksolver.dsp b/intern/iksolver/make/msvc_6_0/iksolver.dsp deleted file mode 100644 index f40ef72a62a..00000000000 --- a/intern/iksolver/make/msvc_6_0/iksolver.dsp +++ /dev/null @@ -1,260 +0,0 @@ -# Microsoft Developer Studio Project File - Name="iksolver" - Package Owner=<4> -# Microsoft Developer Studio Generated Build File, Format Version 6.00 -# ** DO NOT EDIT ** - -# TARGTYPE "Win32 (x86) Static Library" 0x0104 - -CFG=iksolver - Win32 Debug -!MESSAGE This is not a valid makefile. To build this project using NMAKE, -!MESSAGE use the Export Makefile command and run -!MESSAGE -!MESSAGE NMAKE /f "iksolver.mak". -!MESSAGE -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "iksolver.mak" CFG="iksolver - Win32 Debug" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "iksolver - Win32 Release" (based on "Win32 (x86) Static Library") -!MESSAGE "iksolver - Win32 Debug" (based on "Win32 (x86) Static Library") -!MESSAGE - -# Begin Project -# PROP AllowPerConfigDependencies 0 -# PROP Scc_ProjName "" -# PROP Scc_LocalPath "" -CPP=cl.exe -RSC=rc.exe - -!IF "$(CFG)" == "iksolver - Win32 Release" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "Release" -# PROP BASE Intermediate_Dir "Release" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "..\..\..\..\obj\windows\intern\iksolver" -# PROP Intermediate_Dir "..\..\..\..\obj\windows\intern\iksolver" -# PROP Target_Dir "" -LINK32=link.exe -lib -# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c -# ADD CPP /nologo /W3 /GX /O2 /Ob2 /I "..\..\..\..\intern\moto\include" /I "..\..\..\..\intern\memutil" /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /FD /c -# SUBTRACT CPP /YX -# ADD BASE RSC /l 0x413 /d "NDEBUG" -# ADD RSC /l 0x413 /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LIB32=link.exe -lib -# ADD BASE LIB32 /nologo -# ADD LIB32 /nologo /out:"..\..\..\..\obj\windows\intern\iksolver\libiksolver.lib" -# Begin Special Build Tool -SOURCE="$(InputPath)" -PostBuild_Cmds=ECHO Copying header files XCOPY /Y ..\..\extern\*.h ..\..\..\..\..\lib\windows\iksolver\include\ ECHO Copying lib XCOPY /Y ..\..\..\..\obj\windows\intern\iksolver\*.lib ..\..\..\..\..\lib\windows\iksolver\lib\*.a ECHO Done -# End Special Build Tool - -!ELSEIF "$(CFG)" == "iksolver - Win32 Debug" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "Debug" -# PROP BASE Intermediate_Dir "Debug" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "..\..\..\..\obj\windows\intern\iksolver\debug" -# PROP Intermediate_Dir "..\..\..\..\obj\windows\intern\iksolver\debug" -# PROP Target_Dir "" -LINK32=link.exe -lib -# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c -# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "..\..\..\..\intern\moto\include" /I "..\..\..\..\intern\memutil" /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /FD /GZ /c -# SUBTRACT CPP /YX -# ADD BASE RSC /l 0x413 /d "_DEBUG" -# ADD RSC /l 0x413 /d "_DEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LIB32=link.exe -lib -# ADD BASE LIB32 /nologo -# ADD LIB32 /nologo /out:"..\..\..\..\obj\windows\intern\iksolver\debug\libiksolver.lib" -# Begin Special Build Tool -SOURCE="$(InputPath)" -PostBuild_Cmds=ECHO Copying header files XCOPY /Y ..\..\extern\*.h ..\..\..\..\..\lib\windows\iksolver\include\ ECHO Copying lib XCOPY /Y ..\..\..\..\obj\windows\intern\iksolver\debug\*.lib ..\..\..\..\..\lib\windows\iksolver\lib\debug\*.a ECHO Done -# End Special Build Tool - -!ENDIF - -# Begin Target - -# Name "iksolver - Win32 Release" -# Name "iksolver - Win32 Debug" -# Begin Group "intern" - -# PROP Default_Filter "" -# Begin Group "common" - -# PROP Default_Filter "" -# End Group -# Begin Group "TNT" - -# PROP Default_Filter "" -# Begin Source File - -SOURCE=..\..\intern\TNT\cholesky.h -# End Source File -# Begin Source File - -SOURCE=..\..\intern\TNT\cmat.h -# End Source File -# Begin Source File - -SOURCE=..\..\intern\TNT\fcscmat.h -# End Source File -# Begin Source File - -SOURCE=..\..\intern\TNT\fmat.h -# End Source File -# Begin Source File - -SOURCE=..\..\intern\TNT\fortran.h -# End Source File -# Begin Source File - -SOURCE=..\..\intern\TNT\fspvec.h -# End Source File -# Begin Source File - -SOURCE=..\..\intern\TNT\index.h -# End Source File -# Begin Source File - -SOURCE=..\..\intern\TNT\lapack.h -# End Source File -# Begin Source File - -SOURCE=..\..\intern\TNT\lu.h -# End Source File -# Begin Source File - -SOURCE=..\..\intern\TNT\qr.h -# End Source File -# Begin Source File - -SOURCE=..\..\intern\TNT\region1d.h -# End Source File -# Begin Source File - -SOURCE=..\..\intern\TNT\region2d.h -# End Source File -# Begin Source File - -SOURCE=..\..\intern\TNT\stopwatch.h -# End Source File -# Begin Source File - -SOURCE=..\..\intern\TNT\subscript.h -# End Source File -# Begin Source File - -SOURCE=..\..\intern\TNT\svd.h -# End Source File -# Begin Source File - -SOURCE=..\..\intern\TNT\tnt.h -# End Source File -# Begin Source File - -SOURCE=..\..\intern\TNT\tntmath.h -# End Source File -# Begin Source File - -SOURCE=..\..\intern\TNT\tntreqs.h -# End Source File -# Begin Source File - -SOURCE=..\..\intern\TNT\transv.h -# End Source File -# Begin Source File - -SOURCE=..\..\intern\TNT\triang.h -# End Source File -# Begin Source File - -SOURCE=..\..\intern\TNT\trisolve.h -# End Source File -# Begin Source File - -SOURCE=..\..\intern\TNT\vec.h -# End Source File -# Begin Source File - -SOURCE=..\..\intern\TNT\vecadaptor.h -# End Source File -# Begin Source File - -SOURCE=..\..\intern\TNT\version.h -# End Source File -# End Group -# Begin Source File - -SOURCE=..\..\intern\IK_QJacobian.cpp -# End Source File -# Begin Source File - -SOURCE=..\..\intern\IK_QJacobian.h -# End Source File -# Begin Source File - -SOURCE=..\..\intern\IK_QJacobianSolver.cpp -# End Source File -# Begin Source File - -SOURCE=..\..\intern\IK_QJacobianSolver.h -# End Source File -# Begin Source File - -SOURCE=..\..\intern\IK_QSegment.cpp -# End Source File -# Begin Source File - -SOURCE=..\..\intern\IK_QSegment.h -# End Source File -# Begin Source File - -SOURCE=..\..\intern\IK_QSolver_Class.h -# End Source File -# Begin Source File - -SOURCE=..\..\intern\IK_QTask.cpp -# End Source File -# Begin Source File - -SOURCE=..\..\intern\IK_QTask.h -# End Source File -# Begin Source File - -SOURCE=..\..\intern\IK_Solver.cpp -# End Source File -# Begin Source File - -SOURCE=..\..\intern\MT_ExpMap.cpp -# End Source File -# Begin Source File - -SOURCE=..\..\intern\MT_ExpMap.h -# End Source File -# End Group -# Begin Group "extern" - -# PROP Default_Filter "" -# Begin Source File - -SOURCE=..\..\extern\IK_solver.h -# End Source File -# End Group -# End Target -# End Project diff --git a/intern/iksolver/make/msvc_6_0/iksolver.dsw b/intern/iksolver/make/msvc_6_0/iksolver.dsw deleted file mode 100644 index 9771088c42d..00000000000 --- a/intern/iksolver/make/msvc_6_0/iksolver.dsw +++ /dev/null @@ -1,35 +0,0 @@ -Microsoft Developer Studio Workspace File, Format Version 6.00 -# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE! - -############################################################################### - -Project: "iksolver"=.\iksolver.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Global: - -Package=<5> -{{{ -}}} - -Package=<3> -{{{ -}}} - -############################################################################### - - - - - - - diff --git a/intern/iksolver/make/msvc_7_0/iksolver.sln b/intern/iksolver/make/msvc_7_0/iksolver.sln deleted file mode 100644 index e06e5163993..00000000000 --- a/intern/iksolver/make/msvc_7_0/iksolver.sln +++ /dev/null @@ -1,21 +0,0 @@ -Microsoft Visual Studio Solution File, Format Version 7.00 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "iksolver", "iksolver.vcproj", "{EB6E6428-C3FA-4A95-91AE-F060EFD1D57C}" -EndProject -Global - GlobalSection(SolutionConfiguration) = preSolution - ConfigName.0 = Debug - ConfigName.1 = Release - EndGlobalSection - GlobalSection(ProjectDependencies) = postSolution - EndGlobalSection - GlobalSection(ProjectConfiguration) = postSolution - {EB6E6428-C3FA-4A95-91AE-F060EFD1D57C}.Debug.ActiveCfg = Debug|Win32 - {EB6E6428-C3FA-4A95-91AE-F060EFD1D57C}.Debug.Build.0 = Debug|Win32 - {EB6E6428-C3FA-4A95-91AE-F060EFD1D57C}.Release.ActiveCfg = Release|Win32 - {EB6E6428-C3FA-4A95-91AE-F060EFD1D57C}.Release.Build.0 = Release|Win32 - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - EndGlobalSection - GlobalSection(ExtensibilityAddIns) = postSolution - EndGlobalSection -EndGlobal diff --git a/intern/iksolver/make/msvc_7_0/iksolver.vcproj b/intern/iksolver/make/msvc_7_0/iksolver.vcproj deleted file mode 100644 index 008a29774dc..00000000000 --- a/intern/iksolver/make/msvc_7_0/iksolver.vcproj +++ /dev/null @@ -1,370 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/intern/iksolver/make/msvc_9_0/iksolver.vcproj b/intern/iksolver/make/msvc_9_0/iksolver.vcproj deleted file mode 100644 index 296a23e57cc..00000000000 --- a/intern/iksolver/make/msvc_9_0/iksolver.vcproj +++ /dev/null @@ -1,488 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/intern/iksolver/test/ik_glut_test/make/msvc_6_0/ik_glut_test.dsp b/intern/iksolver/test/ik_glut_test/make/msvc_6_0/ik_glut_test.dsp deleted file mode 100644 index 2de994d12e3..00000000000 --- a/intern/iksolver/test/ik_glut_test/make/msvc_6_0/ik_glut_test.dsp +++ /dev/null @@ -1,130 +0,0 @@ -# Microsoft Developer Studio Project File - Name="ik_glut_test" - Package Owner=<4> -# Microsoft Developer Studio Generated Build File, Format Version 6.00 -# ** DO NOT EDIT ** - -# TARGTYPE "Win32 (x86) Console Application" 0x0103 - -CFG=ik_glut_test - Win32 Debug -!MESSAGE This is not a valid makefile. To build this project using NMAKE, -!MESSAGE use the Export Makefile command and run -!MESSAGE -!MESSAGE NMAKE /f "ik_glut_test.mak". -!MESSAGE -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "ik_glut_test.mak" CFG="ik_glut_test - Win32 Debug" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "ik_glut_test - Win32 Release" (based on "Win32 (x86) Console Application") -!MESSAGE "ik_glut_test - Win32 Debug" (based on "Win32 (x86) Console Application") -!MESSAGE - -# Begin Project -# PROP AllowPerConfigDependencies 0 -# PROP Scc_ProjName "" -# PROP Scc_LocalPath "" -CPP=cl.exe -RSC=rc.exe - -!IF "$(CFG)" == "ik_glut_test - Win32 Release" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "Release" -# PROP BASE Intermediate_Dir "Release" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "Release" -# PROP Intermediate_Dir "Release" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c -# ADD CPP /nologo /MT /W3 /GX /O2 /I "..\..\..\..\extern" /I "..\..\..\..\..\..\lib\windows\glut-3.7\include" /I "..\..\..\..\..\..\lib\windows\moto\include" /I "..\..\..\..\..\..\lib\windows\memutil\include" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c -# ADD BASE RSC /l 0x413 /d "NDEBUG" -# ADD RSC /l 0x413 /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 -# ADD LINK32 iksolver_rmtd.lib libmoto.a /nologo /subsystem:console /machine:I386 /libpath:"..\..\..\..\lib\windows\release" /libpath:"..\..\..\..\..\..\lib\windows\glut-3.7\lib" /libpath:"..\..\..\..\..\..\lib\windows\moto\lib" - -!ELSEIF "$(CFG)" == "ik_glut_test - Win32 Debug" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "Debug" -# PROP BASE Intermediate_Dir "Debug" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "Debug" -# PROP Intermediate_Dir "Debug" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c -# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "..\..\..\..\extern" /I "..\..\..\..\..\..\lib\windows\glut-3.7\include" /I "..\..\..\..\..\..\lib\windows\moto\include" /I "..\..\..\..\..\..\lib\windows\memutil\include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c -# ADD BASE RSC /l 0x413 /d "_DEBUG" -# ADD RSC /l 0x413 /d "_DEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept -# ADD LINK32 iksolver_dmtd.lib libmoto.a /nologo /subsystem:console /debug /machine:I386 /nodefaultlib:"LIBCMTD.lib" /pdbtype:sept /libpath:"..\..\..\..\lib\windows\debug" /libpath:"..\..\..\..\..\..\lib\windows\glut-3.7\lib" /libpath:"..\..\..\..\..\..\lib\windows\moto\lib\debug" - -!ENDIF - -# Begin Target - -# Name "ik_glut_test - Win32 Release" -# Name "ik_glut_test - Win32 Debug" -# Begin Group "common" - -# PROP Default_Filter "" -# Begin Source File - -SOURCE=..\..\common\GlutDrawer.cpp -# End Source File -# Begin Source File - -SOURCE=..\..\common\GlutDrawer.h -# End Source File -# Begin Source File - -SOURCE=..\..\common\GlutKeyboardManager.cpp -# End Source File -# Begin Source File - -SOURCE=..\..\common\GlutKeyboardManager.h -# End Source File -# Begin Source File - -SOURCE=..\..\common\GlutMouseManager.cpp -# End Source File -# Begin Source File - -SOURCE=..\..\common\GlutMouseManager.h -# End Source File -# End Group -# Begin Source File - -SOURCE=..\..\intern\ChainDrawer.h -# End Source File -# Begin Source File - -SOURCE=..\..\intern\main.cpp -# End Source File -# Begin Source File - -SOURCE=..\..\intern\MyGlutKeyHandler.h -# End Source File -# Begin Source File - -SOURCE=..\..\intern\MyGlutMouseHandler.h -# End Source File -# End Target -# End Project diff --git a/intern/iksolver/test/ik_glut_test/make/msvc_6_0/ik_glut_test.dsw b/intern/iksolver/test/ik_glut_test/make/msvc_6_0/ik_glut_test.dsw deleted file mode 100644 index 84915beaeb2..00000000000 --- a/intern/iksolver/test/ik_glut_test/make/msvc_6_0/ik_glut_test.dsw +++ /dev/null @@ -1,49 +0,0 @@ -Microsoft Developer Studio Workspace File, Format Version 6.00 -# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE! - -############################################################################### - -Project: "ik_glut_test"=.\ik_glut_test.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ - Begin Project Dependency - Project_Dep_Name iksolver - End Project Dependency -}}} - -############################################################################### - -Project: "iksolver"=..\..\..\..\make\msvc_6_0\iksolver.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Global: - -Package=<5> -{{{ -}}} - -Package=<3> -{{{ -}}} - -############################################################################### - - - - - - diff --git a/intern/itasc/make/msvc_9_0/itasc.vcproj b/intern/itasc/make/msvc_9_0/itasc.vcproj deleted file mode 100644 index f4a81079da0..00000000000 --- a/intern/itasc/make/msvc_9_0/itasc.vcproj +++ /dev/null @@ -1,539 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/intern/make/msvc_6_0/build_install_all.dsp b/intern/make/msvc_6_0/build_install_all.dsp deleted file mode 100644 index 714c30fc5cf..00000000000 --- a/intern/make/msvc_6_0/build_install_all.dsp +++ /dev/null @@ -1,68 +0,0 @@ -# Microsoft Developer Studio Project File - Name="Build_install_all" - Package Owner=<4> -# Microsoft Developer Studio Generated Build File, Format Version 6.00 -# ** DO NOT EDIT ** - -# TARGTYPE "Win32 (x86) Generic Project" 0x010a - -CFG=Build_install_all - Win32 Debug -!MESSAGE This is not a valid makefile. To Build this project using NMAKE, -!MESSAGE use the Export Makefile command and run -!MESSAGE -!MESSAGE NMAKE /f "Build_install_all.mak". -!MESSAGE -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "Build_install_all.mak" CFG="Build_install_all - Win32 Debug" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "Build_install_all - Win32 Release" (based on "Win32 (x86) Generic Project") -!MESSAGE "Build_install_all - Win32 Debug" (based on "Win32 (x86) Generic Project") -!MESSAGE - -# Begin Project -# PROP AllowPerConfigDependencies 0 -# PROP Scc_ProjName "" -# PROP Scc_LocalPath "" -MTL=midl.exe - -!IF "$(CFG)" == "Build_install_all - Win32 Release" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "Release" -# PROP BASE Intermediate_Dir "Release" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "Release" -# PROP Intermediate_Dir "Release" -# PROP Target_Dir "" - -!ELSEIF "$(CFG)" == "Build_install_all - Win32 Debug" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "Debug" -# PROP BASE Intermediate_Dir "Debug" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "Debug" -# PROP Intermediate_Dir "Debug" -# PROP Target_Dir "" -# Begin Special Build Tool -SOURCE="$(InputPath)" -PostBuild_Desc=Python freeze -PostBuild_Cmds=ECHO Freezing Blender Python code ..\..\python\freeze\freeze.bat -# End Special Build Tool - -!ENDIF - -# Begin Target - -# Name "Build_install_all - Win32 Release" -# Name "Build_install_all - Win32 Debug" -# End Target -# End Project diff --git a/intern/make/msvc_6_0/intern.dsw b/intern/make/msvc_6_0/intern.dsw deleted file mode 100644 index 1f37f3c618a..00000000000 --- a/intern/make/msvc_6_0/intern.dsw +++ /dev/null @@ -1,302 +0,0 @@ -Microsoft Developer Studio Workspace File, Format Version 6.00 -# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE! - -############################################################################### - -Project: "Build_install_all"=.\build_install_all.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ - Begin Project Dependency - Project_Dep_Name OpenNL - End Project Dependency - Begin Project Dependency - Project_Dep_Name bmfont - End Project Dependency - Begin Project Dependency - Project_Dep_Name bsplib - End Project Dependency - Begin Project Dependency - Project_Dep_Name container - End Project Dependency - Begin Project Dependency - Project_Dep_Name decimation - End Project Dependency - Begin Project Dependency - Project_Dep_Name DummySoundSystem - End Project Dependency - Begin Project Dependency - Project_Dep_Name ghost - End Project Dependency - Begin Project Dependency - Project_Dep_Name guardedalloc - End Project Dependency - Begin Project Dependency - Project_Dep_Name iksolver - End Project Dependency - Begin Project Dependency - Project_Dep_Name memutil - End Project Dependency - Begin Project Dependency - Project_Dep_Name MoTo - End Project Dependency - Begin Project Dependency - Project_Dep_Name SoundSystem - End Project Dependency - Begin Project Dependency - Project_Dep_Name string - End Project Dependency - Begin Project Dependency - Project_Dep_Name elbeem - End Project Dependency - Begin Project Dependency - Project_Dep_Name boolop - End Project Dependency - Begin Project Dependency - Project_Dep_Name OpenALSoundSystem - End Project Dependency -}}} - -############################################################################### - -Project: "DummySoundSystem"=..\..\SoundSystem\make\msvc_6_0\dummy\DummySoundSystem.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "MoTo"=..\..\moto\make\msvc_6_0\MoTo.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "OpenALSoundSystem"=..\..\SoundSystem\make\msvc_6_0\openal\OpenALSoundSystem.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "OpenNL"=..\..\opennl\make\msvc_6_0\OpenNL.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "SoundSystem"=..\..\SoundSystem\make\msvc_6_0\SoundSystem.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "bmfont"=..\..\bmfont\make\msvc_6_0\bmfont.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "boolop"=..\..\boolop\make\msvc_6_0\boolop.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "bsplib"=..\..\bsp\make\msvc6_0\bsplib.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ - Begin Project Dependency - Project_Dep_Name container - End Project Dependency - Begin Project Dependency - Project_Dep_Name memutil - End Project Dependency - Begin Project Dependency - Project_Dep_Name MoTo - End Project Dependency -}}} - -############################################################################### - -Project: "container"=..\..\container\make\msvc_6_0\container.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "csg"=..\..\csg\make\msvc60\csg.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "decimation"=..\..\decimation\make\msvc_6_0\decimation.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ - Begin Project Dependency - Project_Dep_Name memutil - End Project Dependency - Begin Project Dependency - Project_Dep_Name MoTo - End Project Dependency - Begin Project Dependency - Project_Dep_Name container - End Project Dependency -}}} - -############################################################################### - -Project: "elbeem"=..\..\elbeem\make\msvc_6_0\elbeem.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "ghost"=..\..\ghost\make\msvc\ghost.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ - Begin Project Dependency - Project_Dep_Name string - End Project Dependency -}}} - -############################################################################### - -Project: "guardedalloc"=..\..\guardedalloc\make\msvc_6_0\guardedalloc.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "iksolver"=..\..\iksolver\make\msvc_6_0\iksolver.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "memutil"=..\..\memutil\make\msvc_60\memutil.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "string"=..\..\string\make\msvc_6_0\string.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Global: - -Package=<5> -{{{ -}}} - -Package=<3> -{{{ -}}} - -############################################################################### - diff --git a/intern/make/msvc_7_0/build_install_all.vcproj b/intern/make/msvc_7_0/build_install_all.vcproj deleted file mode 100644 index 3d80bd48b8b..00000000000 --- a/intern/make/msvc_7_0/build_install_all.vcproj +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/intern/make/msvc_7_0/intern.sln b/intern/make/msvc_7_0/intern.sln deleted file mode 100644 index 5fdb4ca95d0..00000000000 --- a/intern/make/msvc_7_0/intern.sln +++ /dev/null @@ -1,252 +0,0 @@ -Microsoft Visual Studio Solution File, Format Version 8.00 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "build_install_all", "build_install_all.vcproj", "{02110D03-59DB-4571-8787-72B3C03B2F2D}" - ProjectSection(ProjectDependencies) = postProject - {A90C4918-4B21-4277-93BD-AF65F30951D9} = {A90C4918-4B21-4277-93BD-AF65F30951D9} - {98330220-47A6-42E0-9DE4-AD0FF5D204D6} = {98330220-47A6-42E0-9DE4-AD0FF5D204D6} - {C66F722C-46BE-40C9-ABAE-2EAC7A697EB8} = {C66F722C-46BE-40C9-ABAE-2EAC7A697EB8} - {FAF46346-65CC-4DB2-85C4-B99826F79D0C} = {FAF46346-65CC-4DB2-85C4-B99826F79D0C} - {B093415D-C0F6-4E76-8F5A-6BC1917BCE9E} = {B093415D-C0F6-4E76-8F5A-6BC1917BCE9E} - {E784098D-3ED8-433A-9353-9679415DDDC5} = {E784098D-3ED8-433A-9353-9679415DDDC5} - {76D90B92-ECC7-409C-9F98-A8814B90F3C0} = {76D90B92-ECC7-409C-9F98-A8814B90F3C0} - {542A9FA1-B7FF-441C-AE15-054DB31D3488} = {542A9FA1-B7FF-441C-AE15-054DB31D3488} - {213356A9-3A1F-41DA-9819-1297BCD17DEE} = {213356A9-3A1F-41DA-9819-1297BCD17DEE} - {51A348C1-8684-4D67-B980-97B1FC74159B} = {51A348C1-8684-4D67-B980-97B1FC74159B} - {8B8D4FC3-3234-4E54-8376-5AB83D00D164} = {8B8D4FC3-3234-4E54-8376-5AB83D00D164} - {4B6AFCC5-968C-424A-8F20-76E41B3BEF74} = {4B6AFCC5-968C-424A-8F20-76E41B3BEF74} - {EB75F4D6-2970-4A3A-8D99-2BAD7201C0E9} = {EB75F4D6-2970-4A3A-8D99-2BAD7201C0E9} - {E86B7BDE-C33C-4E55-9433-E74C141D7538} = {E86B7BDE-C33C-4E55-9433-E74C141D7538} - {B789C2F3-279E-4A85-8F0A-7F7AC068E598} = {B789C2F3-279E-4A85-8F0A-7F7AC068E598} - {6B3229F4-2A37-47EE-8B89-9AA046B35193} = {6B3229F4-2A37-47EE-8B89-9AA046B35193} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "MoTo", "..\..\moto\make\msvc_7_0\MoTo.vcproj", "{4B6AFCC5-968C-424A-8F20-76E41B3BEF74}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "bmfont", "..\..\bmfont\make\msvc_7_0\bmfont.vcproj", "{E784098D-3ED8-433A-9353-9679415DDDC5}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "bsplib", "..\..\bsp\make\msvc_7_0\bsplib.vcproj", "{B093415D-C0F6-4E76-8F5A-6BC1917BCE9E}" - ProjectSection(ProjectDependencies) = postProject - {51A348C1-8684-4D67-B980-97B1FC74159B} = {51A348C1-8684-4D67-B980-97B1FC74159B} - {4B6AFCC5-968C-424A-8F20-76E41B3BEF74} = {4B6AFCC5-968C-424A-8F20-76E41B3BEF74} - {E86B7BDE-C33C-4E55-9433-E74C141D7538} = {E86B7BDE-C33C-4E55-9433-E74C141D7538} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "container", "..\..\container\make\msvc_7_0\container.vcproj", "{51A348C1-8684-4D67-B980-97B1FC74159B}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "decimation", "..\..\decimation\make\msvc_7_0\decimation.vcproj", "{C66F722C-46BE-40C9-ABAE-2EAC7A697EB8}" - ProjectSection(ProjectDependencies) = postProject - {51A348C1-8684-4D67-B980-97B1FC74159B} = {51A348C1-8684-4D67-B980-97B1FC74159B} - {4B6AFCC5-968C-424A-8F20-76E41B3BEF74} = {4B6AFCC5-968C-424A-8F20-76E41B3BEF74} - {E86B7BDE-C33C-4E55-9433-E74C141D7538} = {E86B7BDE-C33C-4E55-9433-E74C141D7538} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ghost", "..\..\ghost\make\msvc_7_0\ghost.vcproj", "{76D90B92-ECC7-409C-9F98-A8814B90F3C0}" - ProjectSection(ProjectDependencies) = postProject - {B789C2F3-279E-4A85-8F0A-7F7AC068E598} = {B789C2F3-279E-4A85-8F0A-7F7AC068E598} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "guardedalloc", "..\..\guardedalloc\make\msvc_7_0\guardedalloc.vcproj", "{6B3229F4-2A37-47EE-8B89-9AA046B35193}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "iksolver", "..\..\iksolver\make\msvc_7_0\iksolver.vcproj", "{542A9FA1-B7FF-441C-AE15-054DB31D3488}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "memutil", "..\..\memutil\make\msvc_7_0\memutil.vcproj", "{E86B7BDE-C33C-4E55-9433-E74C141D7538}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "string", "..\..\string\make\msvc_7_0\string.vcproj", "{B789C2F3-279E-4A85-8F0A-7F7AC068E598}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SoundSystem", "..\..\SoundSystem\make\msvc_7_0\SoundSystem.vcproj", "{98330220-47A6-42E0-9DE4-AD0FF5D204D6}" - ProjectSection(ProjectDependencies) = postProject - {4B6AFCC5-968C-424A-8F20-76E41B3BEF74} = {4B6AFCC5-968C-424A-8F20-76E41B3BEF74} - {B789C2F3-279E-4A85-8F0A-7F7AC068E598} = {B789C2F3-279E-4A85-8F0A-7F7AC068E598} - {6B3229F4-2A37-47EE-8B89-9AA046B35193} = {6B3229F4-2A37-47EE-8B89-9AA046B35193} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "OpenALSoundSystem", "..\..\SoundSystem\make\msvc_7_0\openal\OpenALSoundSystem.vcproj", "{213356A9-3A1F-41DA-9819-1297BCD17DEE}" - ProjectSection(ProjectDependencies) = postProject - {98330220-47A6-42E0-9DE4-AD0FF5D204D6} = {98330220-47A6-42E0-9DE4-AD0FF5D204D6} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DummySoundSystem", "..\..\SoundSystem\make\msvc_7_0\dummy\DummySoundSystem.vcproj", "{FAF46346-65CC-4DB2-85C4-B99826F79D0C}" - ProjectSection(ProjectDependencies) = postProject - {98330220-47A6-42E0-9DE4-AD0FF5D204D6} = {98330220-47A6-42E0-9DE4-AD0FF5D204D6} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "opennl", "..\..\opennl\make\msvc_7_0\opennl.vcproj", "{8B8D4FC3-3234-4E54-8376-5AB83D00D164}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "elbeem", "..\..\elbeem\make\msvc_7_0\elbeem.vcproj", "{A90C4918-4B21-4277-93BD-AF65F30951D9}" - ProjectSection(ProjectDependencies) = postProject - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "boolop", "..\..\boolop\make\msvc_7_0\boolop.vcproj", "{EB75F4D6-2970-4A3A-8D99-2BAD7201C0E9}" - ProjectSection(ProjectDependencies) = postProject - {51A348C1-8684-4D67-B980-97B1FC74159B} = {51A348C1-8684-4D67-B980-97B1FC74159B} - {4B6AFCC5-968C-424A-8F20-76E41B3BEF74} = {4B6AFCC5-968C-424A-8F20-76E41B3BEF74} - {E86B7BDE-C33C-4E55-9433-E74C141D7538} = {E86B7BDE-C33C-4E55-9433-E74C141D7538} - EndProjectSection -EndProject -Global - GlobalSection(SolutionConfiguration) = preSolution - 3DPlugin Debug = 3DPlugin Debug - 3DPlugin Release = 3DPlugin Release - Blender Debug = Blender Debug - Blender Release = Blender Release - EndGlobalSection - GlobalSection(ProjectDependencies) = postSolution - EndGlobalSection - GlobalSection(ProjectConfiguration) = postSolution - {02110D03-59DB-4571-8787-72B3C03B2F2D}.3DPlugin Debug.ActiveCfg = 3DPlugin Debug|Win32 - {02110D03-59DB-4571-8787-72B3C03B2F2D}.3DPlugin Debug.Build.0 = 3DPlugin Debug|Win32 - {02110D03-59DB-4571-8787-72B3C03B2F2D}.3DPlugin Release.ActiveCfg = 3DPlugin Release|Win32 - {02110D03-59DB-4571-8787-72B3C03B2F2D}.3DPlugin Release.Build.0 = 3DPlugin Release|Win32 - {02110D03-59DB-4571-8787-72B3C03B2F2D}.Blender Debug.ActiveCfg = Blender Debug|Win32 - {02110D03-59DB-4571-8787-72B3C03B2F2D}.Blender Debug.Build.0 = Blender Debug|Win32 - {02110D03-59DB-4571-8787-72B3C03B2F2D}.Blender Release.ActiveCfg = Blender Release|Win32 - {02110D03-59DB-4571-8787-72B3C03B2F2D}.Blender Release.Build.0 = Blender Release|Win32 - {4B6AFCC5-968C-424A-8F20-76E41B3BEF74}.3DPlugin Debug.ActiveCfg = 3DPlugin Debug|Win32 - {4B6AFCC5-968C-424A-8F20-76E41B3BEF74}.3DPlugin Debug.Build.0 = 3DPlugin Debug|Win32 - {4B6AFCC5-968C-424A-8F20-76E41B3BEF74}.3DPlugin Release.ActiveCfg = 3DPlugin Release|Win32 - {4B6AFCC5-968C-424A-8F20-76E41B3BEF74}.3DPlugin Release.Build.0 = 3DPlugin Release|Win32 - {4B6AFCC5-968C-424A-8F20-76E41B3BEF74}.Blender Debug.ActiveCfg = Blender Debug|Win32 - {4B6AFCC5-968C-424A-8F20-76E41B3BEF74}.Blender Debug.Build.0 = Blender Debug|Win32 - {4B6AFCC5-968C-424A-8F20-76E41B3BEF74}.Blender Release.ActiveCfg = Blender Release|Win32 - {4B6AFCC5-968C-424A-8F20-76E41B3BEF74}.Blender Release.Build.0 = Blender Release|Win32 - {E784098D-3ED8-433A-9353-9679415DDDC5}.3DPlugin Debug.ActiveCfg = 3DPlugin Debug|Win32 - {E784098D-3ED8-433A-9353-9679415DDDC5}.3DPlugin Debug.Build.0 = 3DPlugin Debug|Win32 - {E784098D-3ED8-433A-9353-9679415DDDC5}.3DPlugin Release.ActiveCfg = 3DPlugin Release|Win32 - {E784098D-3ED8-433A-9353-9679415DDDC5}.3DPlugin Release.Build.0 = 3DPlugin Release|Win32 - {E784098D-3ED8-433A-9353-9679415DDDC5}.Blender Debug.ActiveCfg = Blender Debug|Win32 - {E784098D-3ED8-433A-9353-9679415DDDC5}.Blender Debug.Build.0 = Blender Debug|Win32 - {E784098D-3ED8-433A-9353-9679415DDDC5}.Blender Release.ActiveCfg = Blender Release|Win32 - {E784098D-3ED8-433A-9353-9679415DDDC5}.Blender Release.Build.0 = Blender Release|Win32 - {B093415D-C0F6-4E76-8F5A-6BC1917BCE9E}.3DPlugin Debug.ActiveCfg = 3DPlugin Debug|Win32 - {B093415D-C0F6-4E76-8F5A-6BC1917BCE9E}.3DPlugin Debug.Build.0 = 3DPlugin Debug|Win32 - {B093415D-C0F6-4E76-8F5A-6BC1917BCE9E}.3DPlugin Release.ActiveCfg = 3DPlugin Release|Win32 - {B093415D-C0F6-4E76-8F5A-6BC1917BCE9E}.3DPlugin Release.Build.0 = 3DPlugin Release|Win32 - {B093415D-C0F6-4E76-8F5A-6BC1917BCE9E}.Blender Debug.ActiveCfg = Blender Debug|Win32 - {B093415D-C0F6-4E76-8F5A-6BC1917BCE9E}.Blender Debug.Build.0 = Blender Debug|Win32 - {B093415D-C0F6-4E76-8F5A-6BC1917BCE9E}.Blender Release.ActiveCfg = Blender Release|Win32 - {B093415D-C0F6-4E76-8F5A-6BC1917BCE9E}.Blender Release.Build.0 = Blender Release|Win32 - {51A348C1-8684-4D67-B980-97B1FC74159B}.3DPlugin Debug.ActiveCfg = 3DPlugin Debug|Win32 - {51A348C1-8684-4D67-B980-97B1FC74159B}.3DPlugin Debug.Build.0 = 3DPlugin Debug|Win32 - {51A348C1-8684-4D67-B980-97B1FC74159B}.3DPlugin Release.ActiveCfg = 3DPlugin Release|Win32 - {51A348C1-8684-4D67-B980-97B1FC74159B}.3DPlugin Release.Build.0 = 3DPlugin Release|Win32 - {51A348C1-8684-4D67-B980-97B1FC74159B}.Blender Debug.ActiveCfg = Blender Debug|Win32 - {51A348C1-8684-4D67-B980-97B1FC74159B}.Blender Debug.Build.0 = Blender Debug|Win32 - {51A348C1-8684-4D67-B980-97B1FC74159B}.Blender Release.ActiveCfg = Blender Release|Win32 - {51A348C1-8684-4D67-B980-97B1FC74159B}.Blender Release.Build.0 = Blender Release|Win32 - {C66F722C-46BE-40C9-ABAE-2EAC7A697EB8}.3DPlugin Debug.ActiveCfg = 3DPlugin Debug|Win32 - {C66F722C-46BE-40C9-ABAE-2EAC7A697EB8}.3DPlugin Debug.Build.0 = 3DPlugin Debug|Win32 - {C66F722C-46BE-40C9-ABAE-2EAC7A697EB8}.3DPlugin Release.ActiveCfg = 3DPlugin Release|Win32 - {C66F722C-46BE-40C9-ABAE-2EAC7A697EB8}.3DPlugin Release.Build.0 = 3DPlugin Release|Win32 - {C66F722C-46BE-40C9-ABAE-2EAC7A697EB8}.Blender Debug.ActiveCfg = Blender Debug|Win32 - {C66F722C-46BE-40C9-ABAE-2EAC7A697EB8}.Blender Debug.Build.0 = Blender Debug|Win32 - {C66F722C-46BE-40C9-ABAE-2EAC7A697EB8}.Blender Release.ActiveCfg = Blender Release|Win32 - {C66F722C-46BE-40C9-ABAE-2EAC7A697EB8}.Blender Release.Build.0 = Blender Release|Win32 - {76D90B92-ECC7-409C-9F98-A8814B90F3C0}.3DPlugin Debug.ActiveCfg = 3DPlugin Debug|Win32 - {76D90B92-ECC7-409C-9F98-A8814B90F3C0}.3DPlugin Debug.Build.0 = 3DPlugin Debug|Win32 - {76D90B92-ECC7-409C-9F98-A8814B90F3C0}.3DPlugin Release.ActiveCfg = 3DPlugin Release|Win32 - {76D90B92-ECC7-409C-9F98-A8814B90F3C0}.3DPlugin Release.Build.0 = 3DPlugin Release|Win32 - {76D90B92-ECC7-409C-9F98-A8814B90F3C0}.Blender Debug.ActiveCfg = Blender Debug|Win32 - {76D90B92-ECC7-409C-9F98-A8814B90F3C0}.Blender Debug.Build.0 = Blender Debug|Win32 - {76D90B92-ECC7-409C-9F98-A8814B90F3C0}.Blender Release.ActiveCfg = Blender Release|Win32 - {76D90B92-ECC7-409C-9F98-A8814B90F3C0}.Blender Release.Build.0 = Blender Release|Win32 - {6B3229F4-2A37-47EE-8B89-9AA046B35193}.3DPlugin Debug.ActiveCfg = 3DPlugin Debug|Win32 - {6B3229F4-2A37-47EE-8B89-9AA046B35193}.3DPlugin Debug.Build.0 = 3DPlugin Debug|Win32 - {6B3229F4-2A37-47EE-8B89-9AA046B35193}.3DPlugin Release.ActiveCfg = 3DPlugin Release|Win32 - {6B3229F4-2A37-47EE-8B89-9AA046B35193}.3DPlugin Release.Build.0 = 3DPlugin Release|Win32 - {6B3229F4-2A37-47EE-8B89-9AA046B35193}.Blender Debug.ActiveCfg = Blender Debug|Win32 - {6B3229F4-2A37-47EE-8B89-9AA046B35193}.Blender Debug.Build.0 = Blender Debug|Win32 - {6B3229F4-2A37-47EE-8B89-9AA046B35193}.Blender Release.ActiveCfg = Blender Release|Win32 - {6B3229F4-2A37-47EE-8B89-9AA046B35193}.Blender Release.Build.0 = Blender Release|Win32 - {542A9FA1-B7FF-441C-AE15-054DB31D3488}.3DPlugin Debug.ActiveCfg = 3DPlugin Debug|Win32 - {542A9FA1-B7FF-441C-AE15-054DB31D3488}.3DPlugin Debug.Build.0 = 3DPlugin Debug|Win32 - {542A9FA1-B7FF-441C-AE15-054DB31D3488}.3DPlugin Release.ActiveCfg = 3DPlugin Release|Win32 - {542A9FA1-B7FF-441C-AE15-054DB31D3488}.3DPlugin Release.Build.0 = 3DPlugin Release|Win32 - {542A9FA1-B7FF-441C-AE15-054DB31D3488}.Blender Debug.ActiveCfg = Blender Debug|Win32 - {542A9FA1-B7FF-441C-AE15-054DB31D3488}.Blender Debug.Build.0 = Blender Debug|Win32 - {542A9FA1-B7FF-441C-AE15-054DB31D3488}.Blender Release.ActiveCfg = Blender Release|Win32 - {542A9FA1-B7FF-441C-AE15-054DB31D3488}.Blender Release.Build.0 = Blender Release|Win32 - {E86B7BDE-C33C-4E55-9433-E74C141D7538}.3DPlugin Debug.ActiveCfg = 3DPlugin Debug|Win32 - {E86B7BDE-C33C-4E55-9433-E74C141D7538}.3DPlugin Debug.Build.0 = 3DPlugin Debug|Win32 - {E86B7BDE-C33C-4E55-9433-E74C141D7538}.3DPlugin Release.ActiveCfg = 3DPlugin Release|Win32 - {E86B7BDE-C33C-4E55-9433-E74C141D7538}.3DPlugin Release.Build.0 = 3DPlugin Release|Win32 - {E86B7BDE-C33C-4E55-9433-E74C141D7538}.Blender Debug.ActiveCfg = Blender Debug|Win32 - {E86B7BDE-C33C-4E55-9433-E74C141D7538}.Blender Debug.Build.0 = Blender Debug|Win32 - {E86B7BDE-C33C-4E55-9433-E74C141D7538}.Blender Release.ActiveCfg = Blender Release|Win32 - {E86B7BDE-C33C-4E55-9433-E74C141D7538}.Blender Release.Build.0 = Blender Release|Win32 - {B789C2F3-279E-4A85-8F0A-7F7AC068E598}.3DPlugin Debug.ActiveCfg = 3DPlugin Debug|Win32 - {B789C2F3-279E-4A85-8F0A-7F7AC068E598}.3DPlugin Debug.Build.0 = 3DPlugin Debug|Win32 - {B789C2F3-279E-4A85-8F0A-7F7AC068E598}.3DPlugin Release.ActiveCfg = 3DPlugin Release|Win32 - {B789C2F3-279E-4A85-8F0A-7F7AC068E598}.3DPlugin Release.Build.0 = 3DPlugin Release|Win32 - {B789C2F3-279E-4A85-8F0A-7F7AC068E598}.Blender Debug.ActiveCfg = Blender Debug|Win32 - {B789C2F3-279E-4A85-8F0A-7F7AC068E598}.Blender Debug.Build.0 = Blender Debug|Win32 - {B789C2F3-279E-4A85-8F0A-7F7AC068E598}.Blender Release.ActiveCfg = Blender Release|Win32 - {B789C2F3-279E-4A85-8F0A-7F7AC068E598}.Blender Release.Build.0 = Blender Release|Win32 - {98330220-47A6-42E0-9DE4-AD0FF5D204D6}.3DPlugin Debug.ActiveCfg = 3DPlugin Debug|Win32 - {98330220-47A6-42E0-9DE4-AD0FF5D204D6}.3DPlugin Debug.Build.0 = 3DPlugin Debug|Win32 - {98330220-47A6-42E0-9DE4-AD0FF5D204D6}.3DPlugin Release.ActiveCfg = 3DPlugin Release|Win32 - {98330220-47A6-42E0-9DE4-AD0FF5D204D6}.3DPlugin Release.Build.0 = 3DPlugin Release|Win32 - {98330220-47A6-42E0-9DE4-AD0FF5D204D6}.Blender Debug.ActiveCfg = Blender Debug|Win32 - {98330220-47A6-42E0-9DE4-AD0FF5D204D6}.Blender Debug.Build.0 = Blender Debug|Win32 - {98330220-47A6-42E0-9DE4-AD0FF5D204D6}.Blender Release.ActiveCfg = Blender Release|Win32 - {98330220-47A6-42E0-9DE4-AD0FF5D204D6}.Blender Release.Build.0 = Blender Release|Win32 - {213356A9-3A1F-41DA-9819-1297BCD17DEE}.3DPlugin Debug.ActiveCfg = 3DPlugin Debug|Win32 - {213356A9-3A1F-41DA-9819-1297BCD17DEE}.3DPlugin Debug.Build.0 = 3DPlugin Debug|Win32 - {213356A9-3A1F-41DA-9819-1297BCD17DEE}.3DPlugin Release.ActiveCfg = 3DPlugin Release|Win32 - {213356A9-3A1F-41DA-9819-1297BCD17DEE}.3DPlugin Release.Build.0 = 3DPlugin Release|Win32 - {213356A9-3A1F-41DA-9819-1297BCD17DEE}.Blender Debug.ActiveCfg = Blender Debug|Win32 - {213356A9-3A1F-41DA-9819-1297BCD17DEE}.Blender Debug.Build.0 = Blender Debug|Win32 - {213356A9-3A1F-41DA-9819-1297BCD17DEE}.Blender Release.ActiveCfg = Blender Release|Win32 - {213356A9-3A1F-41DA-9819-1297BCD17DEE}.Blender Release.Build.0 = Blender Release|Win32 - {FAF46346-65CC-4DB2-85C4-B99826F79D0C}.3DPlugin Debug.ActiveCfg = 3DPlugin Debug|Win32 - {FAF46346-65CC-4DB2-85C4-B99826F79D0C}.3DPlugin Debug.Build.0 = 3DPlugin Debug|Win32 - {FAF46346-65CC-4DB2-85C4-B99826F79D0C}.3DPlugin Release.ActiveCfg = 3DPlugin Release|Win32 - {FAF46346-65CC-4DB2-85C4-B99826F79D0C}.3DPlugin Release.Build.0 = 3DPlugin Release|Win32 - {FAF46346-65CC-4DB2-85C4-B99826F79D0C}.Blender Debug.ActiveCfg = Blender Debug|Win32 - {FAF46346-65CC-4DB2-85C4-B99826F79D0C}.Blender Debug.Build.0 = Blender Debug|Win32 - {FAF46346-65CC-4DB2-85C4-B99826F79D0C}.Blender Release.ActiveCfg = Blender Release|Win32 - {FAF46346-65CC-4DB2-85C4-B99826F79D0C}.Blender Release.Build.0 = Blender Release|Win32 - {8B8D4FC3-3234-4E54-8376-5AB83D00D164}.3DPlugin Debug.ActiveCfg = 3DPlugin Debug|Win32 - {8B8D4FC3-3234-4E54-8376-5AB83D00D164}.3DPlugin Debug.Build.0 = 3DPlugin Debug|Win32 - {8B8D4FC3-3234-4E54-8376-5AB83D00D164}.3DPlugin Release.ActiveCfg = 3DPlugin Release|Win32 - {8B8D4FC3-3234-4E54-8376-5AB83D00D164}.3DPlugin Release.Build.0 = 3DPlugin Release|Win32 - {8B8D4FC3-3234-4E54-8376-5AB83D00D164}.Blender Debug.ActiveCfg = Blender Debug|Win32 - {8B8D4FC3-3234-4E54-8376-5AB83D00D164}.Blender Debug.Build.0 = Blender Debug|Win32 - {8B8D4FC3-3234-4E54-8376-5AB83D00D164}.Blender Release.ActiveCfg = Blender Release|Win32 - {8B8D4FC3-3234-4E54-8376-5AB83D00D164}.Blender Release.Build.0 = Blender Release|Win32 - {A90C4918-4B21-4277-93BD-AF65F30951D9}.3DPlugin Debug.ActiveCfg = 3DPlugin Debug|Win32 - {A90C4918-4B21-4277-93BD-AF65F30951D9}.3DPlugin Debug.Build.0 = 3DPlugin Debug|Win32 - {A90C4918-4B21-4277-93BD-AF65F30951D9}.3DPlugin Release.ActiveCfg = 3DPlugin Release|Win32 - {A90C4918-4B21-4277-93BD-AF65F30951D9}.3DPlugin Release.Build.0 = 3DPlugin Release|Win32 - {A90C4918-4B21-4277-93BD-AF65F30951D9}.Blender Debug.ActiveCfg = Blender Debug|Win32 - {A90C4918-4B21-4277-93BD-AF65F30951D9}.Blender Debug.Build.0 = Blender Debug|Win32 - {A90C4918-4B21-4277-93BD-AF65F30951D9}.Blender Release.ActiveCfg = Blender Release|Win32 - {A90C4918-4B21-4277-93BD-AF65F30951D9}.Blender Release.Build.0 = Blender Release|Win32 - {EB75F4D6-2970-4A3A-8D99-2BAD7201C0E9}.3DPlugin Debug.ActiveCfg = 3DPlugin Debug|Win32 - {EB75F4D6-2970-4A3A-8D99-2BAD7201C0E9}.3DPlugin Debug.Build.0 = 3DPlugin Debug|Win32 - {EB75F4D6-2970-4A3A-8D99-2BAD7201C0E9}.3DPlugin Release.ActiveCfg = 3DPlugin Release|Win32 - {EB75F4D6-2970-4A3A-8D99-2BAD7201C0E9}.3DPlugin Release.Build.0 = 3DPlugin Release|Win32 - {EB75F4D6-2970-4A3A-8D99-2BAD7201C0E9}.Blender Debug.ActiveCfg = Blender Debug|Win32 - {EB75F4D6-2970-4A3A-8D99-2BAD7201C0E9}.Blender Debug.Build.0 = Blender Debug|Win32 - {EB75F4D6-2970-4A3A-8D99-2BAD7201C0E9}.Blender Release.ActiveCfg = Blender Release|Win32 - {EB75F4D6-2970-4A3A-8D99-2BAD7201C0E9}.Blender Release.Build.0 = Blender Release|Win32 - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - EndGlobalSection - GlobalSection(ExtensibilityAddIns) = postSolution - EndGlobalSection -EndGlobal diff --git a/intern/make/msvc_9_0/INT_build_install_all.vcproj b/intern/make/msvc_9_0/INT_build_install_all.vcproj deleted file mode 100644 index dbb58134b0f..00000000000 --- a/intern/make/msvc_9_0/INT_build_install_all.vcproj +++ /dev/null @@ -1,109 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/intern/memutil/make/msvc_60/memutil.dsp b/intern/memutil/make/msvc_60/memutil.dsp deleted file mode 100644 index b7e7904e9bf..00000000000 --- a/intern/memutil/make/msvc_60/memutil.dsp +++ /dev/null @@ -1,150 +0,0 @@ -# Microsoft Developer Studio Project File - Name="memutil" - Package Owner=<4> -# Microsoft Developer Studio Generated Build File, Format Version 6.00 -# ** DO NOT EDIT ** - -# TARGTYPE "Win32 (x86) Static Library" 0x0104 - -CFG=memutil - Win32 Debug -!MESSAGE This is not a valid makefile. To build this project using NMAKE, -!MESSAGE use the Export Makefile command and run -!MESSAGE -!MESSAGE NMAKE /f "memutil.mak". -!MESSAGE -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "memutil.mak" CFG="memutil - Win32 Debug" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "memutil - Win32 Release" (based on "Win32 (x86) Static Library") -!MESSAGE "memutil - Win32 Debug" (based on "Win32 (x86) Static Library") -!MESSAGE - -# Begin Project -# PROP AllowPerConfigDependencies 0 -# PROP Scc_ProjName "" -# PROP Scc_LocalPath "" -CPP=cl.exe -RSC=rc.exe - -!IF "$(CFG)" == "memutil - Win32 Release" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "Release" -# PROP BASE Intermediate_Dir "Release" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "..\..\..\..\obj\windows\intern\memutil\" -# PROP Intermediate_Dir "..\..\..\..\obj\windows\intern\memutil\" -# PROP Target_Dir "" -LINK32=link.exe -lib -# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c -# ADD CPP /nologo /MT /W3 /GX /O2 /Ob2 /I "../../" /I "../../../" /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c -# ADD BASE RSC /l 0x409 /d "NDEBUG" -# ADD RSC /l 0x409 /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LIB32=link.exe -lib -# ADD BASE LIB32 /nologo -# ADD LIB32 /nologo -# Begin Special Build Tool -SOURCE="$(InputPath)" -PostBuild_Cmds=ECHO Copying header files XCOPY /Y ..\..\*.h ..\..\..\..\..\lib\windows\memutil\include\ ECHO Copying lib XCOPY /Y ..\..\..\..\obj\windows\intern\memutil\*.lib ..\..\..\..\..\lib\windows\memutil\lib\*.a ECHO Done -# End Special Build Tool - -!ELSEIF "$(CFG)" == "memutil - Win32 Debug" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "Debug" -# PROP BASE Intermediate_Dir "Debug" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "..\..\..\..\obj\windows\intern\memutil\debug" -# PROP Intermediate_Dir "..\..\..\..\obj\windows\intern\memutil\debug" -# PROP Target_Dir "" -LINK32=link.exe -lib -# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c -# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "../../" /I "../../../" /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c -# ADD BASE RSC /l 0x409 /d "_DEBUG" -# ADD RSC /l 0x409 /d "_DEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LIB32=link.exe -lib -# ADD BASE LIB32 /nologo -# ADD LIB32 /nologo -# Begin Special Build Tool -SOURCE="$(InputPath)" -PostBuild_Cmds=ECHO Copying header files XCOPY /Y ..\..\*.h ..\..\..\..\..\lib\windows\memutil\include\ ECHO Copying lib XCOPY /Y ..\..\..\..\obj\windows\intern\memutil\debug\*.lib ..\..\..\..\..\lib\windows\memutil\lib\debug\*.a ECHO Copying Debug info. XCOPY /Y ..\..\..\..\obj\windows\intern\memutil\debug\vc60.* ..\..\..\..\..\lib\windows\memutil\lib\debug\ ECHO Done -# End Special Build Tool - -!ENDIF - -# Begin Target - -# Name "memutil - Win32 Release" -# Name "memutil - Win32 Debug" -# Begin Group "Source Files" - -# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" -# Begin Source File - -SOURCE=..\..\MEM_Allocator.h -# End Source File -# Begin Source File - -SOURCE=..\..\MEM_CacheLimiter.h -# End Source File -# Begin Source File - -SOURCE="..\..\intern\MEM_CacheLimiterC-Api.cpp" -# End Source File -# Begin Source File - -SOURCE=..\..\..\guardedalloc\MEM_guardedalloc.h -# End Source File -# Begin Source File - -SOURCE="..\..\intern\MEM_RefCountedC-Api.cpp" -# End Source File -# End Group -# Begin Group "Header Files" - -# PROP Default_Filter "h;hpp;hxx;hm;inl" -# Begin Group "intern" - -# PROP Default_Filter "" -# End Group -# Begin Group "extern" - -# PROP Default_Filter "" -# Begin Source File - -SOURCE=..\..\MEM_NonCopyable.h -# End Source File -# Begin Source File - -SOURCE=..\..\MEM_RefCounted.h -# End Source File -# Begin Source File - -SOURCE="..\..\MEM_RefCountedC-Api.h" -# End Source File -# Begin Source File - -SOURCE=..\..\MEM_RefCountPtr.h -# End Source File -# Begin Source File - -SOURCE=..\..\MEM_SmartPtr.h -# End Source File -# End Group -# End Group -# End Target -# End Project diff --git a/intern/memutil/make/msvc_60/memutil.dsw b/intern/memutil/make/msvc_60/memutil.dsw deleted file mode 100644 index 3c19a94c701..00000000000 --- a/intern/memutil/make/msvc_60/memutil.dsw +++ /dev/null @@ -1,29 +0,0 @@ -Microsoft Developer Studio Workspace File, Format Version 6.00 -# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE! - -############################################################################### - -Project: "memutil"=".\memutil.dsp" - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Global: - -Package=<5> -{{{ -}}} - -Package=<3> -{{{ -}}} - -############################################################################### - diff --git a/intern/memutil/make/msvc_7_0/memutil.sln b/intern/memutil/make/msvc_7_0/memutil.sln deleted file mode 100644 index 462cd1a3871..00000000000 --- a/intern/memutil/make/msvc_7_0/memutil.sln +++ /dev/null @@ -1,21 +0,0 @@ -Microsoft Visual Studio Solution File, Format Version 7.00 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "memutil", "memutil.vcproj", "{8B8B95BA-3084-408F-8EE6-3FE6EF52E112}" -EndProject -Global - GlobalSection(SolutionConfiguration) = preSolution - ConfigName.0 = Debug - ConfigName.1 = Release - EndGlobalSection - GlobalSection(ProjectDependencies) = postSolution - EndGlobalSection - GlobalSection(ProjectConfiguration) = postSolution - {8B8B95BA-3084-408F-8EE6-3FE6EF52E112}.Debug.ActiveCfg = Debug|Win32 - {8B8B95BA-3084-408F-8EE6-3FE6EF52E112}.Debug.Build.0 = Debug|Win32 - {8B8B95BA-3084-408F-8EE6-3FE6EF52E112}.Release.ActiveCfg = Release|Win32 - {8B8B95BA-3084-408F-8EE6-3FE6EF52E112}.Release.Build.0 = Release|Win32 - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - EndGlobalSection - GlobalSection(ExtensibilityAddIns) = postSolution - EndGlobalSection -EndGlobal diff --git a/intern/memutil/make/msvc_7_0/memutil.vcproj b/intern/memutil/make/msvc_7_0/memutil.vcproj deleted file mode 100644 index 2d570ea3d49..00000000000 --- a/intern/memutil/make/msvc_7_0/memutil.vcproj +++ /dev/null @@ -1,292 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/intern/memutil/make/msvc_9_0/memutil.vcproj b/intern/memutil/make/msvc_9_0/memutil.vcproj deleted file mode 100644 index 0b8251f0d7e..00000000000 --- a/intern/memutil/make/msvc_9_0/memutil.vcproj +++ /dev/null @@ -1,386 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/intern/moto/make/msvc_6_0/MoTo.dsp b/intern/moto/make/msvc_6_0/MoTo.dsp deleted file mode 100644 index 541c4aa4774..00000000000 --- a/intern/moto/make/msvc_6_0/MoTo.dsp +++ /dev/null @@ -1,379 +0,0 @@ -# Microsoft Developer Studio Project File - Name="MoTo" - Package Owner=<4> -# Microsoft Developer Studio Generated Build File, Format Version 6.00 -# ** DO NOT EDIT ** - -# TARGTYPE "Win32 (x86) Static Library" 0x0104 - -CFG=MoTo - Win32 Debug -!MESSAGE This is not a valid makefile. To build this project using NMAKE, -!MESSAGE use the Export Makefile command and run -!MESSAGE -!MESSAGE NMAKE /f "MoTo.mak". -!MESSAGE -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "MoTo.mak" CFG="MoTo - Win32 Debug" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "MoTo - Win32 Release" (based on "Win32 (x86) Static Library") -!MESSAGE "MoTo - Win32 Debug" (based on "Win32 (x86) Static Library") -!MESSAGE - -# Begin Project -# PROP AllowPerConfigDependencies 0 -# PROP Scc_ProjName "" -# PROP Scc_LocalPath "" -CPP=cl.exe -RSC=rc.exe - -!IF "$(CFG)" == "MoTo - Win32 Release" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "Release" -# PROP BASE Intermediate_Dir "Release" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "..\..\..\..\obj\windows\intern\moto\" -# PROP Intermediate_Dir "..\..\..\..\obj\windows\intern\moto\" -# PROP Target_Dir "" -LINK32=link.exe -lib -# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c -# ADD CPP /nologo /MT /W4 /GX /O2 /Ob2 /I "..\..\include\\" /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /FD /c -# SUBTRACT CPP /YX -# ADD BASE RSC /l 0x413 /d "NDEBUG" -# ADD RSC /l 0x413 /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LIB32=link.exe -lib -# ADD BASE LIB32 /nologo -# ADD LIB32 /nologo /out:"..\..\..\..\obj\windows\intern\moto\libmoto.lib" -# Begin Special Build Tool -SOURCE="$(InputPath)" -PostBuild_Cmds=ECHO Copying header files XCOPY /Y ..\..\include\*.h ..\..\..\..\..\lib\windows\moto\include\ ECHO Copying lib XCOPY /Y ..\..\..\..\obj\windows\intern\moto\*.lib ..\..\..\..\..\lib\windows\moto\lib\*.a ECHO Done -# End Special Build Tool - -!ELSEIF "$(CFG)" == "MoTo - Win32 Debug" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "Debug" -# PROP BASE Intermediate_Dir "Debug" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "..\..\..\..\obj\windows\intern\moto\debug" -# PROP Intermediate_Dir "..\..\..\..\obj\windows\intern\moto\debug" -# PROP Target_Dir "" -LINK32=link.exe -lib -# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c -# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "..\..\include\\" /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /FD /GZ /c -# SUBTRACT CPP /YX -# ADD BASE RSC /l 0x413 /d "_DEBUG" -# ADD RSC /l 0x413 /d "_DEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LIB32=link.exe -lib -# ADD BASE LIB32 /nologo -# ADD LIB32 /nologo /out:"..\..\..\..\obj\windows\intern\moto\debug\libmoto.lib" -# Begin Special Build Tool -SOURCE="$(InputPath)" -PostBuild_Cmds=ECHO Copying header files XCOPY /Y ..\..\include\*.h ..\..\..\..\..\lib\windows\moto\include\ ECHO Copying lib XCOPY /Y ..\..\..\..\obj\windows\intern\moto\debug\*.lib ..\..\..\..\..\lib\windows\moto\lib\debug\*.a ECHO Copying Debug info. XCOPY /Y ..\..\..\..\obj\windows\intern\moto\debug\vc60.* ..\..\..\..\..\lib\windows\moto\lib\debug\ ECHO Done -# End Special Build Tool - -!ENDIF - -# Begin Target - -# Name "MoTo - Win32 Release" -# Name "MoTo - Win32 Debug" -# Begin Group "Source Files" - -# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" -# Begin Source File - -SOURCE=..\..\intern\MT_CmMatrix4x4.cpp - -!IF "$(CFG)" == "MoTo - Win32 Release" - -# ADD CPP /W3 /I "../../include" - -!ELSEIF "$(CFG)" == "MoTo - Win32 Debug" - -!ENDIF - -# End Source File -# Begin Source File - -SOURCE=..\..\intern\MT_Matrix3x3.cpp - -!IF "$(CFG)" == "MoTo - Win32 Release" - -# ADD CPP /W3 /I "../../include" - -!ELSEIF "$(CFG)" == "MoTo - Win32 Debug" - -!ENDIF - -# End Source File -# Begin Source File - -SOURCE=..\..\intern\MT_Matrix4x4.cpp - -!IF "$(CFG)" == "MoTo - Win32 Release" - -# ADD CPP /W3 /I "../../include" - -!ELSEIF "$(CFG)" == "MoTo - Win32 Debug" - -!ENDIF - -# End Source File -# Begin Source File - -SOURCE=..\..\intern\MT_Plane3.cpp - -!IF "$(CFG)" == "MoTo - Win32 Release" - -# ADD CPP /W3 - -!ELSEIF "$(CFG)" == "MoTo - Win32 Debug" - -!ENDIF - -# End Source File -# Begin Source File - -SOURCE=..\..\intern\MT_Point3.cpp - -!IF "$(CFG)" == "MoTo - Win32 Release" - -# ADD CPP /W3 /I "../../include" - -!ELSEIF "$(CFG)" == "MoTo - Win32 Debug" - -!ENDIF - -# End Source File -# Begin Source File - -SOURCE=..\..\intern\MT_Quaternion.cpp - -!IF "$(CFG)" == "MoTo - Win32 Release" - -# ADD CPP /W3 /I "../../include" - -!ELSEIF "$(CFG)" == "MoTo - Win32 Debug" - -!ENDIF - -# End Source File -# Begin Source File - -SOURCE=..\..\intern\MT_random.cpp - -!IF "$(CFG)" == "MoTo - Win32 Release" - -# ADD CPP /W3 /I "../../include" - -!ELSEIF "$(CFG)" == "MoTo - Win32 Debug" - -!ENDIF - -# End Source File -# Begin Source File - -SOURCE=..\..\intern\MT_Transform.cpp - -!IF "$(CFG)" == "MoTo - Win32 Release" - -# ADD CPP /W3 /I "../../include" - -!ELSEIF "$(CFG)" == "MoTo - Win32 Debug" - -!ENDIF - -# End Source File -# Begin Source File - -SOURCE=..\..\intern\MT_Vector2.cpp - -!IF "$(CFG)" == "MoTo - Win32 Release" - -# ADD CPP /W3 /I "../../include" - -!ELSEIF "$(CFG)" == "MoTo - Win32 Debug" - -!ENDIF - -# End Source File -# Begin Source File - -SOURCE=..\..\intern\MT_Vector3.cpp - -!IF "$(CFG)" == "MoTo - Win32 Release" - -# ADD CPP /W3 /I "../../include" - -!ELSEIF "$(CFG)" == "MoTo - Win32 Debug" - -!ENDIF - -# End Source File -# Begin Source File - -SOURCE=..\..\intern\MT_Vector4.cpp - -!IF "$(CFG)" == "MoTo - Win32 Release" - -# ADD CPP /W3 /I "../../include" - -!ELSEIF "$(CFG)" == "MoTo - Win32 Debug" - -!ENDIF - -# End Source File -# End Group -# Begin Group "Header Files" - -# PROP Default_Filter "h;hpp;hxx;hm;inl" -# Begin Group "inlines" - -# PROP Default_Filter "" -# Begin Source File - -SOURCE=..\..\include\MT_Matrix3x3.inl -# End Source File -# Begin Source File - -SOURCE=..\..\include\MT_Matrix4x4.inl -# End Source File -# Begin Source File - -SOURCE=..\..\include\MT_Plane3.inl -# End Source File -# Begin Source File - -SOURCE=..\..\include\MT_Point2.inl -# End Source File -# Begin Source File - -SOURCE=..\..\include\MT_Point3.inl -# End Source File -# Begin Source File - -SOURCE=..\..\include\MT_Quaternion.inl -# End Source File -# Begin Source File - -SOURCE=..\..\include\MT_Vector2.inl -# End Source File -# Begin Source File - -SOURCE=..\..\include\MT_Vector3.inl -# End Source File -# Begin Source File - -SOURCE=..\..\include\MT_Vector4.inl -# End Source File -# End Group -# Begin Source File - -SOURCE=..\..\include\GEN_List.h -# End Source File -# Begin Source File - -SOURCE=..\..\include\GEN_Map.h -# End Source File -# Begin Source File - -SOURCE=..\..\include\MT_assert.h -# End Source File -# Begin Source File - -SOURCE=..\..\include\MT_CmMatrix4x4.h -# End Source File -# Begin Source File - -SOURCE=..\..\include\MT_Matrix3x3.h -# End Source File -# Begin Source File - -SOURCE=..\..\include\MT_Matrix4x4.h -# End Source File -# Begin Source File - -SOURCE=..\..\include\MT_MinMax.h -# End Source File -# Begin Source File - -SOURCE=..\..\include\MT_Optimize.h -# End Source File -# Begin Source File - -SOURCE=..\..\include\MT_Plane3.h -# End Source File -# Begin Source File - -SOURCE=..\..\include\MT_Point2.h -# End Source File -# Begin Source File - -SOURCE=..\..\include\MT_Point3.h -# End Source File -# Begin Source File - -SOURCE=..\..\include\MT_Quaternion.h -# End Source File -# Begin Source File - -SOURCE=..\..\include\MT_random.h -# End Source File -# Begin Source File - -SOURCE=..\..\include\MT_Scalar.h -# End Source File -# Begin Source File - -SOURCE=..\..\include\MT_Stream.h -# End Source File -# Begin Source File - -SOURCE=..\..\include\MT_Transform.h -# End Source File -# Begin Source File - -SOURCE=..\..\include\MT_Tuple2.h -# End Source File -# Begin Source File - -SOURCE=..\..\include\MT_Tuple3.h -# End Source File -# Begin Source File - -SOURCE=..\..\include\MT_Tuple4.h -# End Source File -# Begin Source File - -SOURCE=..\..\include\MT_Vector2.h -# End Source File -# Begin Source File - -SOURCE=..\..\include\MT_Vector3.h -# End Source File -# Begin Source File - -SOURCE=..\..\include\MT_Vector4.h -# End Source File -# Begin Source File - -SOURCE=..\..\include\NM_Scalar.h -# End Source File -# End Group -# End Target -# End Project diff --git a/intern/moto/make/msvc_6_0/MoTo.dsw b/intern/moto/make/msvc_6_0/MoTo.dsw deleted file mode 100644 index e45520d5c72..00000000000 --- a/intern/moto/make/msvc_6_0/MoTo.dsw +++ /dev/null @@ -1,29 +0,0 @@ -Microsoft Developer Studio Workspace File, Format Version 6.00 -# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE! - -############################################################################### - -Project: "MoTo"=.\MoTo.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Global: - -Package=<5> -{{{ -}}} - -Package=<3> -{{{ -}}} - -############################################################################### - diff --git a/intern/moto/make/msvc_7_0/moto.sln b/intern/moto/make/msvc_7_0/moto.sln deleted file mode 100644 index c1c34ff4af1..00000000000 --- a/intern/moto/make/msvc_7_0/moto.sln +++ /dev/null @@ -1,21 +0,0 @@ -Microsoft Visual Studio Solution File, Format Version 7.00 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "MoTo", "MoTo.vcproj", "{11ABF09B-4414-4188-8071-27CE3FE49256}" -EndProject -Global - GlobalSection(SolutionConfiguration) = preSolution - ConfigName.0 = Debug - ConfigName.1 = Release - EndGlobalSection - GlobalSection(ProjectDependencies) = postSolution - EndGlobalSection - GlobalSection(ProjectConfiguration) = postSolution - {11ABF09B-4414-4188-8071-27CE3FE49256}.Debug.ActiveCfg = Debug|Win32 - {11ABF09B-4414-4188-8071-27CE3FE49256}.Debug.Build.0 = Debug|Win32 - {11ABF09B-4414-4188-8071-27CE3FE49256}.Release.ActiveCfg = Release|Win32 - {11ABF09B-4414-4188-8071-27CE3FE49256}.Release.Build.0 = Release|Win32 - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - EndGlobalSection - GlobalSection(ExtensibilityAddIns) = postSolution - EndGlobalSection -EndGlobal diff --git a/intern/moto/make/msvc_7_0/moto.vcproj b/intern/moto/make/msvc_7_0/moto.vcproj deleted file mode 100644 index 6ecff4b78d0..00000000000 --- a/intern/moto/make/msvc_7_0/moto.vcproj +++ /dev/null @@ -1,543 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/intern/moto/make/msvc_9_0/moto.vcproj b/intern/moto/make/msvc_9_0/moto.vcproj deleted file mode 100644 index 34c5705e2f2..00000000000 --- a/intern/moto/make/msvc_9_0/moto.vcproj +++ /dev/null @@ -1,714 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/intern/opennl/make/msvc_6_0/OpenNL.dsp b/intern/opennl/make/msvc_6_0/OpenNL.dsp deleted file mode 100644 index aaf8f0298c1..00000000000 --- a/intern/opennl/make/msvc_6_0/OpenNL.dsp +++ /dev/null @@ -1,252 +0,0 @@ -# Microsoft Developer Studio Project File - Name="OpenNL" - Package Owner=<4> -# Microsoft Developer Studio Generated Build File, Format Version 6.00 -# ** DO NOT EDIT ** - -# TARGTYPE "Win32 (x86) Static Library" 0x0104 - -CFG=OpenNL - Win32 Debug -!MESSAGE This is not a valid makefile. To build this project using NMAKE, -!MESSAGE use the Export Makefile command and run -!MESSAGE -!MESSAGE NMAKE /f "OpenNL.mak". -!MESSAGE -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "OpenNL.mak" CFG="OpenNL - Win32 Debug" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "OpenNL - Win32 Release" (based on "Win32 (x86) Static Library") -!MESSAGE "OpenNL - Win32 Debug" (based on "Win32 (x86) Static Library") -!MESSAGE - -# Begin Project -# PROP AllowPerConfigDependencies 0 -# PROP Scc_ProjName "" -# PROP Scc_LocalPath "" -CPP=cl.exe -RSC=rc.exe - -!IF "$(CFG)" == "OpenNL - Win32 Release" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "Release" -# PROP BASE Intermediate_Dir "Release" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "../../../../obj/windows/intern/opennl" -# PROP Intermediate_Dir "../../../../obj/windows/intern/opennl/imf" -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c -# ADD CPP /nologo /W3 /GX /O2 /I "../../extern" /I "../../superlu" /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c -# ADD BASE RSC /l 0x407 /d "NDEBUG" -# ADD RSC /l 0x407 /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LIB32=link.exe -lib -# ADD BASE LIB32 /nologo -# ADD LIB32 /nologo /out:"../../../../obj/windows/intern/opennl\blender_ONL.lib" -# Begin Special Build Tool -SOURCE="$(InputPath)" -PostBuild_Cmds=ECHO copy header files XCOPY /Y ..\..\extern\*.h ..\..\..\..\..\lib\windows\opennl\include\*.h ECHO copy library XCOPY /Y ..\..\..\..\obj\windows\intern\openNL\*.lib ..\..\..\..\..\lib\windows\openNL\*.lib -# End Special Build Tool - -!ELSEIF "$(CFG)" == "OpenNL - Win32 Debug" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "Debug" -# PROP BASE Intermediate_Dir "Debug" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "../../../../obj/windows/intern/opennl/Debug/" -# PROP Intermediate_Dir "../../../../obj/windows/intern/opennl/imf/Debug" -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c -# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "../../extern" /I "../../superlu" /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c -# ADD BASE RSC /l 0x407 /d "_DEBUG" -# ADD RSC /l 0x407 /d "_DEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LIB32=link.exe -lib -# ADD BASE LIB32 /nologo -# ADD LIB32 /nologo /out:"../../../../obj/windows/intern/opennl/Debug/blender_ONL.lib" -# Begin Special Build Tool -SOURCE="$(InputPath)" -PostBuild_Cmds=ECHO copy header files XCOPY /Y ..\..\extern\*.h ..\..\..\..\..\lib\windows\opennl\include\*.h ECHO copy library XCOPY /Y ..\..\..\..\obj\windows\intern\openNL\debug\*.lib ..\..\..\..\..\lib\windows\openNL\debug\*.lib -# End Special Build Tool - -!ENDIF - -# Begin Target - -# Name "OpenNL - Win32 Release" -# Name "OpenNL - Win32 Debug" -# Begin Group "Source Files" - -# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" -# Begin Source File - -SOURCE=..\..\superlu\colamd.c -# End Source File -# Begin Source File - -SOURCE=..\..\superlu\get_perm_c.c -# End Source File -# Begin Source File - -SOURCE=..\..\superlu\heap_relax_snode.c -# End Source File -# Begin Source File - -SOURCE=..\..\superlu\lsame.c -# End Source File -# Begin Source File - -SOURCE=..\..\superlu\memory.c -# End Source File -# Begin Source File - -SOURCE=..\..\superlu\mmd.c -# End Source File -# Begin Source File - -SOURCE=..\..\intern\opennl.c -# End Source File -# Begin Source File - -SOURCE=..\..\superlu\relax_snode.c -# End Source File -# Begin Source File - -SOURCE=..\..\superlu\scolumn_bmod.c -# End Source File -# Begin Source File - -SOURCE=..\..\superlu\scolumn_dfs.c -# End Source File -# Begin Source File - -SOURCE=..\..\superlu\scopy_to_ucol.c -# End Source File -# Begin Source File - -SOURCE=..\..\superlu\sgssv.c -# End Source File -# Begin Source File - -SOURCE=..\..\superlu\sgstrf.c -# End Source File -# Begin Source File - -SOURCE=..\..\superlu\sgstrs.c -# End Source File -# Begin Source File - -SOURCE=..\..\superlu\smemory.c -# End Source File -# Begin Source File - -SOURCE=..\..\superlu\smyblas2.c -# End Source File -# Begin Source File - -SOURCE=..\..\superlu\sp_coletree.c -# End Source File -# Begin Source File - -SOURCE=..\..\superlu\sp_ienv.c -# End Source File -# Begin Source File - -SOURCE=..\..\superlu\sp_preorder.c -# End Source File -# Begin Source File - -SOURCE=..\..\superlu\spanel_bmod.c -# End Source File -# Begin Source File - -SOURCE=..\..\superlu\spanel_dfs.c -# End Source File -# Begin Source File - -SOURCE=..\..\superlu\spivotL.c -# End Source File -# Begin Source File - -SOURCE=..\..\superlu\spruneL.c -# End Source File -# Begin Source File - -SOURCE=..\..\superlu\ssnode_bmod.c -# End Source File -# Begin Source File - -SOURCE=..\..\superlu\ssnode_dfs.c -# End Source File -# Begin Source File - -SOURCE=..\..\superlu\ssp_blas2.c -# End Source File -# Begin Source File - -SOURCE=..\..\superlu\ssp_blas3.c -# End Source File -# Begin Source File - -SOURCE=..\..\superlu\strsv.c -# End Source File -# Begin Source File - -SOURCE=..\..\superlu\superlu_timer.c -# End Source File -# Begin Source File - -SOURCE=..\..\superlu\sutil.c -# End Source File -# Begin Source File - -SOURCE=..\..\superlu\util.c -# End Source File -# Begin Source File - -SOURCE=..\..\superlu\xerbla.c -# End Source File -# End Group -# Begin Group "Header Files" - -# PROP Default_Filter "h;hpp;hxx;hm;inl" -# Begin Source File - -SOURCE=..\..\superlu\Cnames.h -# End Source File -# Begin Source File - -SOURCE=..\..\superlu\colamd.h -# End Source File -# Begin Source File - -SOURCE=..\..\extern\ONL_opennl.h -# End Source File -# Begin Source File - -SOURCE=..\..\superlu\ssp_defs.h -# End Source File -# Begin Source File - -SOURCE=..\..\superlu\supermatrix.h -# End Source File -# Begin Source File - -SOURCE=..\..\superlu\util.h -# End Source File -# End Group -# End Target -# End Project diff --git a/intern/opennl/make/msvc_6_0/OpenNL.dsw b/intern/opennl/make/msvc_6_0/OpenNL.dsw deleted file mode 100644 index 5b7c9138c97..00000000000 --- a/intern/opennl/make/msvc_6_0/OpenNL.dsw +++ /dev/null @@ -1,29 +0,0 @@ -Microsoft Developer Studio Workspace File, Format Version 6.00 -# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE! - -############################################################################### - -Project: "OpenNL"=.\OpenNL.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Global: - -Package=<5> -{{{ -}}} - -Package=<3> -{{{ -}}} - -############################################################################### - diff --git a/intern/opennl/make/msvc_7_0/opennl.vcproj b/intern/opennl/make/msvc_7_0/opennl.vcproj deleted file mode 100644 index d302a2508ab..00000000000 --- a/intern/opennl/make/msvc_7_0/opennl.vcproj +++ /dev/null @@ -1,745 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/intern/opennl/make/msvc_9_0/opennl.vcproj b/intern/opennl/make/msvc_9_0/opennl.vcproj deleted file mode 100644 index 28051a491d2..00000000000 --- a/intern/opennl/make/msvc_9_0/opennl.vcproj +++ /dev/null @@ -1,993 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/intern/smoke/make/msvc_9_0/smoke.vcproj b/intern/smoke/make/msvc_9_0/smoke.vcproj deleted file mode 100644 index eb412ac10f2..00000000000 --- a/intern/smoke/make/msvc_9_0/smoke.vcproj +++ /dev/null @@ -1,520 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/intern/string/make/msvc_6_0/string.dsp b/intern/string/make/msvc_6_0/string.dsp deleted file mode 100644 index 38250e44170..00000000000 --- a/intern/string/make/msvc_6_0/string.dsp +++ /dev/null @@ -1,122 +0,0 @@ -# Microsoft Developer Studio Project File - Name="string" - Package Owner=<4> -# Microsoft Developer Studio Generated Build File, Format Version 6.00 -# ** DO NOT EDIT ** - -# TARGTYPE "Win32 (x86) Static Library" 0x0104 - -CFG=string - Win32 Debug -!MESSAGE This is not a valid makefile. To build this project using NMAKE, -!MESSAGE use the Export Makefile command and run -!MESSAGE -!MESSAGE NMAKE /f "string.mak". -!MESSAGE -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "string.mak" CFG="string - Win32 Debug" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "string - Win32 Release" (based on "Win32 (x86) Static Library") -!MESSAGE "string - Win32 Debug" (based on "Win32 (x86) Static Library") -!MESSAGE - -# Begin Project -# PROP AllowPerConfigDependencies 0 -# PROP Scc_ProjName "" -# PROP Scc_LocalPath "" -CPP=cl.exe -RSC=rc.exe - -!IF "$(CFG)" == "string - Win32 Release" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "Release" -# PROP BASE Intermediate_Dir "Release" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "..\..\..\..\obj\windows\intern\string" -# PROP Intermediate_Dir "..\..\..\..\obj\windows\intern\string" -# PROP Target_Dir "" -LINK32=link.exe -lib -# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c -# ADD CPP /nologo /MT /W3 /GX /O2 /I "../.." /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c -# ADD BASE RSC /l 0x409 /d "NDEBUG" -# ADD RSC /l 0x409 /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LIB32=link.exe -lib -# ADD BASE LIB32 /nologo -# ADD LIB32 /nologo /out:"..\..\..\..\obj\windows\intern\string\libstring.lib" -# Begin Special Build Tool -SOURCE="$(InputPath)" -PostBuild_Cmds=ECHO Copying header files XCOPY /Y ..\..\*.h ..\..\..\..\..\lib\windows\string\include\ ECHO Copying lib XCOPY /Y ..\..\..\..\obj\windows\intern\string\*.lib ..\..\..\..\..\lib\windows\string\lib\*.a ECHO Done -# End Special Build Tool - -!ELSEIF "$(CFG)" == "string - Win32 Debug" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "Debug" -# PROP BASE Intermediate_Dir "Debug" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "../../../../obj/windows/intern/string/debug" -# PROP Intermediate_Dir "../../../../obj/windows/intern/string/debug" -# PROP Target_Dir "" -LINK32=link.exe -lib -# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c -# ADD CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /I "../.." /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c -# ADD BASE RSC /l 0x409 /d "_DEBUG" -# ADD RSC /l 0x409 /d "_DEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LIB32=link.exe -lib -# ADD BASE LIB32 /nologo -# ADD LIB32 /nologo /out:"../../../../obj/windows/intern/string/debug\libstring.lib" -# Begin Special Build Tool -SOURCE="$(InputPath)" -PostBuild_Cmds=ECHO Copying header files XCOPY /Y ..\..\*.h ..\..\..\..\..\lib\windows\string\include\ ECHO Copying lib XCOPY /Y ..\..\..\..\obj\windows\intern\string\debug\*.lib ..\..\..\..\..\lib\windows\string\lib\debug\*.a ECHO Done -# End Special Build Tool - -!ENDIF - -# Begin Target - -# Name "string - Win32 Release" -# Name "string - Win32 Debug" -# Begin Group "Source Files" - -# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" -# Begin Source File - -SOURCE=..\..\intern\STR_String.cpp -# End Source File -# End Group -# Begin Group "Header Files" - -# PROP Default_Filter "h;hpp;hxx;hm;inl" -# Begin Group "intern" - -# PROP Default_Filter "" -# End Group -# Begin Group "extern" - -# PROP Default_Filter "" -# Begin Source File - -SOURCE=..\..\STR_HashedString.h -# End Source File -# Begin Source File - -SOURCE=..\..\STR_String.h -# End Source File -# End Group -# End Group -# End Target -# End Project diff --git a/intern/string/make/msvc_6_0/string.dsw b/intern/string/make/msvc_6_0/string.dsw deleted file mode 100644 index 23886681438..00000000000 --- a/intern/string/make/msvc_6_0/string.dsw +++ /dev/null @@ -1,29 +0,0 @@ -Microsoft Developer Studio Workspace File, Format Version 6.00 -# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE! - -############################################################################### - -Project: "string"=".\string.dsp" - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Global: - -Package=<5> -{{{ -}}} - -Package=<3> -{{{ -}}} - -############################################################################### - diff --git a/intern/string/make/msvc_7_0/string.sln b/intern/string/make/msvc_7_0/string.sln deleted file mode 100644 index 53981b212ea..00000000000 --- a/intern/string/make/msvc_7_0/string.sln +++ /dev/null @@ -1,21 +0,0 @@ -Microsoft Visual Studio Solution File, Format Version 7.00 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "string", "string.vcproj", "{0607A77B-49DD-42D8-A767-D0D60769DC90}" -EndProject -Global - GlobalSection(SolutionConfiguration) = preSolution - ConfigName.0 = Debug - ConfigName.1 = Release - EndGlobalSection - GlobalSection(ProjectDependencies) = postSolution - EndGlobalSection - GlobalSection(ProjectConfiguration) = postSolution - {0607A77B-49DD-42D8-A767-D0D60769DC90}.Debug.ActiveCfg = Debug|Win32 - {0607A77B-49DD-42D8-A767-D0D60769DC90}.Debug.Build.0 = Debug|Win32 - {0607A77B-49DD-42D8-A767-D0D60769DC90}.Release.ActiveCfg = Release|Win32 - {0607A77B-49DD-42D8-A767-D0D60769DC90}.Release.Build.0 = Release|Win32 - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - EndGlobalSection - GlobalSection(ExtensibilityAddIns) = postSolution - EndGlobalSection -EndGlobal diff --git a/intern/string/make/msvc_7_0/string.vcproj b/intern/string/make/msvc_7_0/string.vcproj deleted file mode 100644 index deb342c26e8..00000000000 --- a/intern/string/make/msvc_7_0/string.vcproj +++ /dev/null @@ -1,269 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/intern/string/make/msvc_9_0/string.vcproj b/intern/string/make/msvc_9_0/string.vcproj deleted file mode 100644 index 512d67623b6..00000000000 --- a/intern/string/make/msvc_9_0/string.vcproj +++ /dev/null @@ -1,356 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -- cgit v1.2.3 From 05b297c52f025b8d2068b742d944ecd92c402256 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Sat, 23 Oct 2010 15:40:13 +0000 Subject: CMake options to disable Decimate and Boolean Modifiers: WITH_MOD_BOOLEAN, WITH_MOD_DECIMATE, renamed WITH_FLUID to WITH_MOD_FLUID --- CMakeLists.txt | 6 +++++- intern/CMakeLists.txt | 19 ++++++++++++------- source/blender/blenkernel/CMakeLists.txt | 4 ++-- source/blender/editors/physics/CMakeLists.txt | 4 ++-- source/blender/makesrna/intern/CMakeLists.txt | 4 ++-- source/blender/modifiers/CMakeLists.txt | 21 ++++++++++++++------- source/blender/modifiers/Makefile | 2 +- source/blender/modifiers/SConscript | 4 ++++ source/blender/modifiers/intern/MOD_boolean.c | 11 ++++++++++- source/blender/modifiers/intern/MOD_decimate.c | 14 ++++++++++++-- source/creator/CMakeLists.txt | 4 ++-- 11 files changed, 66 insertions(+), 27 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index c2768c7301f..1aaec87f7c3 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -68,7 +68,6 @@ GET_BLENDER_VERSION() OPTION(WITH_INTERNATIONAL "Enable I18N (International fonts and text)" ON) OPTION(WITH_PYTHON "Enable Embedded Python API" ON) OPTION(WITH_BUILDINFO "Include extra build details" ON) -OPTION(WITH_FLUID "Enable Elbeem (Fluid Simulation)" ON) OPTION(WITH_IK_ITASC "Enable ITASC IK solver" ON) OPTION(WITH_FFTW3 "Enable FFTW3 support (Used for smoke and audio effects)" OFF) OPTION(WITH_BULLET "Enable Bullet (Physics Engine)" ON) @@ -81,6 +80,11 @@ ELSE() OPTION(WITH_OPENMP "Enable OpenMP (has to be supported by the compiler)" OFF) ENDIF() +# Modifiers +OPTION(WITH_MOD_FLUID "Enable Elbeem Modifier (Fluid Simulation)" ON) +OPTION(WITH_MOD_DECIMATE "Enable Decimate Modifier" ON) +OPTION(WITH_MOD_BOOLEAN "Enable Boolean Modifier" ON) + # Image format support OPTION(WITH_IMAGE_OPENEXR "Enable OpenEXR Support (http://www.openexr.com)" ON) OPTION(WITH_IMAGE_OPENJPEG "Enable OpenJpeg Support (http://www.openjpeg.org/)" OFF) diff --git a/intern/CMakeLists.txt b/intern/CMakeLists.txt index acc13fb0e33..a497d8f2078 100644 --- a/intern/CMakeLists.txt +++ b/intern/CMakeLists.txt @@ -29,20 +29,25 @@ ADD_SUBDIRECTORY(string) ADD_SUBDIRECTORY(ghost) ADD_SUBDIRECTORY(guardedalloc) ADD_SUBDIRECTORY(moto) -ADD_SUBDIRECTORY(container) ADD_SUBDIRECTORY(memutil) -ADD_SUBDIRECTORY(decimation) ADD_SUBDIRECTORY(iksolver) -ADD_SUBDIRECTORY(boolop) ADD_SUBDIRECTORY(opennl) ADD_SUBDIRECTORY(smoke) -IF(WITH_FLUID) +IF(WITH_MOD_FLUID) ADD_SUBDIRECTORY(elbeem) -ENDIF(WITH_FLUID) +ENDIF(WITH_MOD_FLUID) + +IF(WITH_MOD_DECIMATE) + ADD_SUBDIRECTORY(container) + ADD_SUBDIRECTORY(decimation) +ENDIF(WITH_MOD_DECIMATE) + +IF(WITH_MOD_BOOLEAN) + ADD_SUBDIRECTORY(boolop) + ADD_SUBDIRECTORY(bsp) +ENDIF(WITH_MOD_BOOLEAN) IF(WITH_IK_ITASC) ADD_SUBDIRECTORY(itasc) ENDIF(WITH_IK_ITASC) - -ADD_SUBDIRECTORY(bsp) diff --git a/source/blender/blenkernel/CMakeLists.txt b/source/blender/blenkernel/CMakeLists.txt index a63f0031eed..5252003c5b3 100644 --- a/source/blender/blenkernel/CMakeLists.txt +++ b/source/blender/blenkernel/CMakeLists.txt @@ -196,9 +196,9 @@ IF(WITH_OPENMP) ADD_DEFINITIONS(-DPARALLEL=1) ENDIF(WITH_OPENMP) -IF(NOT WITH_FLUID) +IF(NOT WITH_MOD_FLUID) ADD_DEFINITIONS(-DDISABLE_ELBEEM) -ENDIF(NOT WITH_FLUID) +ENDIF(NOT WITH_MOD_FLUID) IF(WITH_JACK) ADD_DEFINITIONS(-DWITH_JACK) diff --git a/source/blender/editors/physics/CMakeLists.txt b/source/blender/editors/physics/CMakeLists.txt index 5d36038b76a..481f6d8df44 100644 --- a/source/blender/editors/physics/CMakeLists.txt +++ b/source/blender/editors/physics/CMakeLists.txt @@ -43,9 +43,9 @@ IF(WIN32) LIST(APPEND INC ${PTHREADS_INC}) ENDIF(WIN32) -IF(NOT WITH_FLUID) +IF(NOT WITH_MOD_FLUID) ADD_DEFINITIONS(-DDISABLE_ELBEEM) -ENDIF(NOT WITH_FLUID) +ENDIF(NOT WITH_MOD_FLUID) IF(WITH_OPENMP) ADD_DEFINITIONS(-DPARALLEL=1) diff --git a/source/blender/makesrna/intern/CMakeLists.txt b/source/blender/makesrna/intern/CMakeLists.txt index a48603e623c..97e16bba057 100644 --- a/source/blender/makesrna/intern/CMakeLists.txt +++ b/source/blender/makesrna/intern/CMakeLists.txt @@ -112,9 +112,9 @@ IF(WITH_LCMS) ADD_DEFINITIONS(-DWITH_LCMS) ENDIF(WITH_LCMS) -IF(NOT WITH_FLUID) +IF(NOT WITH_MOD_FLUID) ADD_DEFINITIONS(-DDISABLE_ELBEEM) -ENDIF(NOT WITH_FLUID) +ENDIF(NOT WITH_MOD_FLUID) IF(WITH_FFTW3) ADD_DEFINITIONS(-DFFTW3=1) diff --git a/source/blender/modifiers/CMakeLists.txt b/source/blender/modifiers/CMakeLists.txt index 99e8c05b1ae..40f0ad127cd 100644 --- a/source/blender/modifiers/CMakeLists.txt +++ b/source/blender/modifiers/CMakeLists.txt @@ -31,10 +31,8 @@ SET(INC ../blenkernel ../blenkernel/intern ../render/extern/include - ../../../intern/guardedalloc - ../../../intern/decimation/extern + ../../../intern/guardedalloc ../../../intern/elbeem/extern - ../../../intern/bsp/extern ${ZLIB_INC} ) @@ -43,7 +41,6 @@ SET(SRC intern/MOD_array.c intern/MOD_bevel.c intern/MOD_boolean.c - intern/MOD_boolean_util.c intern/MOD_build.c intern/MOD_cast.c intern/MOD_cloth.c @@ -79,9 +76,19 @@ SET(SRC intern/MOD_wave.c ) -IF(NOT WITH_FLUID) +IF(WITH_MOD_BOOLEAN) + ADD_DEFINITIONS(-DWITH_MOD_BOOLEAN) + LIST(APPEND SRC intern/MOD_boolean_util.c) + LIST(APPEND INC ../../../intern/bsp/extern) +ENDIF(WITH_MOD_BOOLEAN) + +IF(WITH_MOD_DECIMATE) + ADD_DEFINITIONS(-DWITH_MOD_DECIMATE) + LIST(APPEND INC ../../../intern/decimation/extern) +ENDIF(WITH_MOD_BOOLEAN) + +IF(NOT WITH_MOD_FLUID) ADD_DEFINITIONS(-DDISABLE_ELBEEM) -ENDIF(NOT WITH_FLUID) +ENDIF(NOT WITH_MOD_FLUID) BLENDERLIB(bf_modifiers "${SRC}" "${INC}") - diff --git a/source/blender/modifiers/Makefile b/source/blender/modifiers/Makefile index ddcddb90186..2115e8ac888 100644 --- a/source/blender/modifiers/Makefile +++ b/source/blender/modifiers/Makefile @@ -30,5 +30,5 @@ SOURCEDIR = source/blender/modifiers DIRS = intern - +CFLAGS += -DWITH_MOD_BOOLEAN -DWITH_MOD_BOOLEAN include nan_subdirs.mk diff --git a/source/blender/modifiers/SConscript b/source/blender/modifiers/SConscript index 7aa198f51f0..8d420fcb3b7 100644 --- a/source/blender/modifiers/SConscript +++ b/source/blender/modifiers/SConscript @@ -12,6 +12,10 @@ incs += ' ' + env['BF_ZLIB_INC'] defs = [] +# could be made optional +defs += ['WITH_MOD_BOOLEAN'] +defs += ['WITH_MOD_DECIMATE'] + if env['BF_NO_ELBEEM']: defs.append('DISABLE_ELBEEM') diff --git a/source/blender/modifiers/intern/MOD_boolean.c b/source/blender/modifiers/intern/MOD_boolean.c index b2f7c685248..07300065659 100644 --- a/source/blender/modifiers/intern/MOD_boolean.c +++ b/source/blender/modifiers/intern/MOD_boolean.c @@ -82,7 +82,7 @@ static void updateDepgraph(ModifierData *md, DagForest *forest, } } - +#ifdef WITH_MOD_BOOLEAN static DerivedMesh *applyModifier(ModifierData *md, Object *ob, DerivedMesh *derivedData, int UNUSED(useRenderParams), @@ -107,6 +107,15 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob, return derivedData; } +#else // WITH_MOD_BOOLEAN +static DerivedMesh *applyModifier(ModifierData *UNUSED(md), Object *UNUSED(ob), + DerivedMesh *derivedData, + int UNUSED(useRenderParams), + int UNUSED(isFinalCalc)) +{ + return derivedData; +} +#endif // WITH_MOD_BOOLEAN static CustomDataMask requiredDataMask(Object *UNUSED(ob), ModifierData *UNUSED(md)) { diff --git a/source/blender/modifiers/intern/MOD_decimate.c b/source/blender/modifiers/intern/MOD_decimate.c index 8df0c0be3eb..d7e0ff4702b 100644 --- a/source/blender/modifiers/intern/MOD_decimate.c +++ b/source/blender/modifiers/intern/MOD_decimate.c @@ -42,8 +42,9 @@ #include "MEM_guardedalloc.h" +#ifdef WITH_MOD_DECIMATE #include "LOD_decimation.h" - +#endif static void initData(ModifierData *md) { @@ -60,6 +61,7 @@ static void copyData(ModifierData *md, ModifierData *target) tdmd->percent = dmd->percent; } +#ifdef WITH_MOD_DECIMATE static DerivedMesh *applyModifier(ModifierData *md, Object *UNUSED(ob), DerivedMesh *derivedData, int UNUSED(useRenderParams), @@ -176,7 +178,15 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *UNUSED(ob), exit: return result; } - +#else // WITH_MOD_DECIMATE +static DerivedMesh *applyModifier(ModifierData *UNUSED(md), Object *UNUSED(ob), + DerivedMesh *derivedData, + int UNUSED(useRenderParams), + int UNUSED(isFinalCalc)) +{ + return derivedData; +} +#endif // WITH_MOD_DECIMATE ModifierTypeInfo modifierType_Decimate = { /* name */ "Decimate", diff --git a/source/creator/CMakeLists.txt b/source/creator/CMakeLists.txt index 27640cbc185..6d43e13718f 100644 --- a/source/creator/CMakeLists.txt +++ b/source/creator/CMakeLists.txt @@ -454,9 +454,9 @@ FILE(READ ${CMAKE_BINARY_DIR}/cmake_blender_libs.txt BLENDER_LINK_LIBS) SET(BLENDER_LINK_LIBS bf_nodes ${BLENDER_LINK_LIBS} bf_windowmanager bf_render) -IF(WITH_FLUID) +IF(WITH_MOD_FLUID) LIST(APPEND BLENDER_LINK_LIBS bf_intern_elbeem) -ENDIF(WITH_FLUID) +ENDIF(WITH_MOD_FLUID) #IF(UNIX) -- cgit v1.2.3 From 2d9be2226a7b8ec35f3055743f3d6e381fe78757 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Sat, 23 Oct 2010 16:03:31 +0000 Subject: warning fixes. --- source/blender/blenkernel/intern/constraint.c | 1 + source/blender/editors/object/object_constraint.c | 5 ++++- source/blender/editors/space_script/script_edit.c | 4 ++++ source/blender/editors/space_text/text_ops.c | 2 ++ source/blender/editors/space_view3d/view3d_draw.c | 2 +- source/blender/modifiers/CMakeLists.txt | 2 +- source/blender/render/intern/raytrace/rayobject.cpp | 6 +++++- source/blender/windowmanager/intern/wm_init_exit.c | 5 ++++- source/creator/creator.c | 2 ++ 9 files changed, 24 insertions(+), 5 deletions(-) diff --git a/source/blender/blenkernel/intern/constraint.c b/source/blender/blenkernel/intern/constraint.c index 5dad01a126f..c3f05e497f1 100644 --- a/source/blender/blenkernel/intern/constraint.c +++ b/source/blender/blenkernel/intern/constraint.c @@ -2015,6 +2015,7 @@ static void pycon_get_tarmat (bConstraint *con, bConstraintOb *cob, bConstraintT static void pycon_evaluate (bConstraint *con, bConstraintOb *cob, ListBase *targets) { #ifdef DISABLE_PYTHON + (void)con; (void)cob; (void)targets; /* unused */ return; #else bPythonConstraint *data= con->data; diff --git a/source/blender/editors/object/object_constraint.c b/source/blender/editors/object/object_constraint.c index 02c88d4149b..09760a8f51b 100644 --- a/source/blender/editors/object/object_constraint.c +++ b/source/blender/editors/object/object_constraint.c @@ -200,7 +200,10 @@ char *buildmenu_pyconstraints (Text *con_text, int *pyconindex) /* this callback gets called when the 'refresh' button of a pyconstraint gets pressed */ void update_pyconstraint_cb (void *arg1, void *arg2) { -#ifndef DISABLE_PYTHON +#ifdef DISABLE_PYTHON + (void)arg1; /* unused */ + (void)arg2; /* unused */ +#else Object *owner= (Object *)arg1; bConstraint *con= (bConstraint *)arg2; if (owner && con) diff --git a/source/blender/editors/space_script/script_edit.c b/source/blender/editors/space_script/script_edit.c index 7e3b14ca04a..23bc385c758 100644 --- a/source/blender/editors/space_script/script_edit.c +++ b/source/blender/editors/space_script/script_edit.c @@ -60,6 +60,8 @@ static int run_pyfile_exec(bContext *C, wmOperator *op) ED_region_tag_redraw(ar); return OPERATOR_FINISHED; } +#else + (void)C; /* unused */ #endif return OPERATOR_CANCELLED; /* FAIL */ } @@ -89,6 +91,8 @@ static int script_reload_exec(bContext *C, wmOperator *UNUSED(op)) BPY_eval_string(C, "__import__('bpy').utils.load_scripts(reload_scripts=True)"); WM_cursor_wait(0); return OPERATOR_FINISHED; +#else + (void)C; /* unused */ #endif return OPERATOR_CANCELLED; } diff --git a/source/blender/editors/space_text/text_ops.c b/source/blender/editors/space_text/text_ops.c index 8d4f3f87f66..af29e575482 100644 --- a/source/blender/editors/space_text/text_ops.c +++ b/source/blender/editors/space_text/text_ops.c @@ -558,6 +558,8 @@ static int run_script_poll(bContext *C) static int run_script_exec(bContext *C, wmOperator *op) { #ifdef DISABLE_PYTHON + (void)C; /* unused */ + BKE_report(op->reports, RPT_ERROR, "Python disabled in this build"); return OPERATOR_CANCELLED; diff --git a/source/blender/editors/space_view3d/view3d_draw.c b/source/blender/editors/space_view3d/view3d_draw.c index 7722ca5605b..30880db0c90 100644 --- a/source/blender/editors/space_view3d/view3d_draw.c +++ b/source/blender/editors/space_view3d/view3d_draw.c @@ -1459,7 +1459,7 @@ static void draw_dupli_objects_color(Scene *scene, ARegion *ar, View3D *v3d, Bas { RegionView3D *rv3d= ar->regiondata; ListBase *lb; - DupliObject *dob_prev= NULL, *dob, *dob_next; + DupliObject *dob_prev= NULL, *dob, *dob_next= NULL; Base tbase; BoundBox bb, *bb_tmp; /* use a copy because draw_object, calls clear_mesh_caches */ GLuint displist=0; diff --git a/source/blender/modifiers/CMakeLists.txt b/source/blender/modifiers/CMakeLists.txt index 40f0ad127cd..7524244c701 100644 --- a/source/blender/modifiers/CMakeLists.txt +++ b/source/blender/modifiers/CMakeLists.txt @@ -85,7 +85,7 @@ ENDIF(WITH_MOD_BOOLEAN) IF(WITH_MOD_DECIMATE) ADD_DEFINITIONS(-DWITH_MOD_DECIMATE) LIST(APPEND INC ../../../intern/decimation/extern) -ENDIF(WITH_MOD_BOOLEAN) +ENDIF(WITH_MOD_DECIMATE) IF(NOT WITH_MOD_FLUID) ADD_DEFINITIONS(-DDISABLE_ELBEEM) diff --git a/source/blender/render/intern/raytrace/rayobject.cpp b/source/blender/render/intern/raytrace/rayobject.cpp index 84ec56e131a..119a62ad05a 100644 --- a/source/blender/render/intern/raytrace/rayobject.cpp +++ b/source/blender/render/intern/raytrace/rayobject.cpp @@ -533,7 +533,11 @@ float RE_rayobject_cost(RayObject *r) r = RE_rayobject_align( r ); return r->api->cost( r ); } - else assert(0); + else + { + assert(0); + return 1.0; /* XXX, better default value? */ + } } void RE_rayobject_hint_bb(RayObject *r, RayHint *hint, float *min, float *max) diff --git a/source/blender/windowmanager/intern/wm_init_exit.c b/source/blender/windowmanager/intern/wm_init_exit.c index b319058ce5c..e373579577d 100644 --- a/source/blender/windowmanager/intern/wm_init_exit.c +++ b/source/blender/windowmanager/intern/wm_init_exit.c @@ -145,6 +145,9 @@ void WM_init(bContext *C, int argc, char **argv) BPY_set_context(C); /* necessary evil */ BPY_start_python(argc, argv); BPY_load_user_modules(C); +#else + (void)argc; /* unused */ + (void)argv; /* unused */ #endif wm_init_reports(C); /* reports cant be initialized before the wm */ @@ -212,7 +215,7 @@ int WM_init_game(bContext *C) wmWindow* win; ScrArea *sa; - ARegion *ar; + ARegion *ar= NULL; Scene *scene= CTX_data_scene(C); diff --git a/source/creator/creator.c b/source/creator/creator.c index ed2f671a161..25f01ea0bea 100644 --- a/source/creator/creator.c +++ b/source/creator/creator.c @@ -853,6 +853,7 @@ static int run_python(int argc, char **argv, void *data) return 0; } #else + (void)argc; (void)argv; (void)data; /* unused */ printf("This blender was built without python support\n"); return 0; #endif /* DISABLE_PYTHON */ @@ -868,6 +869,7 @@ static int run_python_console(int UNUSED(argc), char **argv, void *data) return 0; #else + (void)argv; (void)data; /* unused */ printf("This blender was built without python support\n"); return 0; #endif /* DISABLE_PYTHON */ -- cgit v1.2.3 From 1de1d6537ee208b9e57b293c816bacc2e8fb990f Mon Sep 17 00:00:00 2001 From: "Guillermo S. Romero" Date: Sun, 24 Oct 2010 00:09:23 +0000 Subject: Fully disable AUD's FFTW3 usage. --- intern/audaspace/Makefile | 1 + source/Makefile | 7 ++++--- source/blender/blenkernel/intern/curve.c | 3 +-- source/blender/blenkernel/intern/customdata.c | 3 +-- source/blender/blenkernel/intern/effect.c | 3 +-- source/blender/editors/space_view3d/drawobject.c | 3 +-- source/blender/modifiers/intern/MOD_screw.c | 3 +-- 7 files changed, 10 insertions(+), 13 deletions(-) diff --git a/intern/audaspace/Makefile b/intern/audaspace/Makefile index c1a613af1ae..2f7bd8c79ff 100644 --- a/intern/audaspace/Makefile +++ b/intern/audaspace/Makefile @@ -57,6 +57,7 @@ ifeq ($(WITH_SNDFILE),true) DIRS += sndfile endif +# Not in use currently, see also source/Makefile and r31375 #ifeq ($(WITH_FFTW3),true) # DIRS += fftw #endif diff --git a/source/Makefile b/source/Makefile index 9768dbc0010..637fbf36871 100644 --- a/source/Makefile +++ b/source/Makefile @@ -129,9 +129,10 @@ endif ifeq ($(WITH_SNDFILE),true) COMLIB += $(NAN_AUDASPACE)/lib/$(DEBUG_DIR)libaud_sndfile.a endif -ifeq ($(WITH_FFTW3),true) - COMLIB += $(NAN_AUDASPACE)/lib/$(DEBUG_DIR)libaud_fftw.a -endif +# Not in use currently, see also intern/audaspace/Makefile and r31375 +#ifeq ($(WITH_FFTW3),true) +# COMLIB += $(NAN_AUDASPACE)/lib/$(DEBUG_DIR)libaud_fftw.a +#endif COMLIB += $(NAN_SAMPLERATE)/lib/$(DEBUG_DIR)libsamplerate.a COMLIB += $(NAN_LZO)/lib/$(DEBUG_DIR)libminilzo.a COMLIB += $(NAN_LZMA)/lib/$(DEBUG_DIR)liblzma.a diff --git a/source/blender/blenkernel/intern/curve.c b/source/blender/blenkernel/intern/curve.c index a7dd80bff4d..06ba066efdd 100644 --- a/source/blender/blenkernel/intern/curve.c +++ b/source/blender/blenkernel/intern/curve.c @@ -1939,11 +1939,10 @@ static void make_bevel_list_3D_tangent(BevList *bl) /* make perpendicular, modify tan in place, is ok */ float cross_tmp[3]; - float zero[3] = {0,0,0}; cross_v3_v3v3(cross_tmp, bevp1->tan, bevp1->dir); normalize_v3(cross_tmp); - tri_to_quat( bevp1->quat,zero, cross_tmp, bevp1->tan); /* XXX - could be faster */ + tri_to_quat( bevp1->quat, (float [3]){0,0,0}, cross_tmp, bevp1->tan); /* XXX - could be faster */ bevp0= bevp1; bevp1= bevp2; diff --git a/source/blender/blenkernel/intern/customdata.c b/source/blender/blenkernel/intern/customdata.c index 9c4f0d790ca..3eec7611697 100644 --- a/source/blender/blenkernel/intern/customdata.c +++ b/source/blender/blenkernel/intern/customdata.c @@ -502,8 +502,7 @@ static void layerInterp_mdisps(void **UNUSED(sources), float *UNUSED(weights), /* Initialize the destination */ for(i = 0; i < d->totdisp; ++i) { - float z[3] = {0,0,0}; - copy_v3_v3(d->disps[i], z); + zero_v3(d->disps[i]); } /* For now, some restrictions on the input */ diff --git a/source/blender/blenkernel/intern/effect.c b/source/blender/blenkernel/intern/effect.c index 70e814ef956..47606c39937 100644 --- a/source/blender/blenkernel/intern/effect.c +++ b/source/blender/blenkernel/intern/effect.c @@ -1007,8 +1007,7 @@ void pdDoEffectors(ListBase *effectors, ListBase *colliders, EffectorWeights *we else if(eff->pd->forcefield == PFIELD_TEXTURE) do_texture_effector(eff, &efd, point, force); else { - float temp1[3]={0,0,0}, temp2[3]; - VECCOPY(temp1, force); + float temp1[3]={force[0], force[1], force[2]}, temp2[3]; do_physical_effector(eff, &efd, point, force); diff --git a/source/blender/editors/space_view3d/drawobject.c b/source/blender/editors/space_view3d/drawobject.c index bc340ef5b4b..171c5a311c1 100644 --- a/source/blender/editors/space_view3d/drawobject.c +++ b/source/blender/editors/space_view3d/drawobject.c @@ -6139,8 +6139,7 @@ void draw_object(Scene *scene, ARegion *ar, View3D *v3d, Base *base, int flag) /* patch for several 3d cards (IBM mostly) that crash on glSelect with text drawing */ /* but, we also dont draw names for sets or duplicators */ if(flag == 0) { - float zero[3]= {0,0,0}; - view3d_cached_text_draw_add(zero, ob->id.name+2, 10, 0); + view3d_cached_text_draw_add((float [3]){0,0,0}, ob->id.name+2, 10, 0); } } /*if(dtx & OB_DRAWIMAGE) drawDispListwire(&ob->disp);*/ diff --git a/source/blender/modifiers/intern/MOD_screw.c b/source/blender/modifiers/intern/MOD_screw.c index 668f0a086d1..b71249880a6 100644 --- a/source/blender/modifiers/intern/MOD_screw.c +++ b/source/blender/modifiers/intern/MOD_screw.c @@ -212,9 +212,8 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob, float totlen = len_v3(mtx_tx[3]); if(totlen != 0.0f) { - float zero[3]={0.0f, 0.0f, 0.0f}; float cp[3]; - screw_ofs= closest_to_line_v3(cp, mtx_tx[3], zero, axis_vec); + screw_ofs= closest_to_line_v3(cp, mtx_tx[3], (float []){0,0,0}, axis_vec); } else { screw_ofs= 0.0f; -- cgit v1.2.3 From ea5670f4b597828bfb0170f9b659d19ebdb5ab33 Mon Sep 17 00:00:00 2001 From: Nicholas Bishop Date: Sun, 24 Oct 2010 02:02:37 +0000 Subject: Fixed bug #24364, "subsurf modifier causes wire-only meshes to disappear in object mode." * Re-added code to draw loose edge --- source/blender/blenkernel/intern/subsurf_ccg.c | 42 +++++++++++++++++--------- 1 file changed, 27 insertions(+), 15 deletions(-) diff --git a/source/blender/blenkernel/intern/subsurf_ccg.c b/source/blender/blenkernel/intern/subsurf_ccg.c index 4b810059464..51cee333370 100644 --- a/source/blender/blenkernel/intern/subsurf_ccg.c +++ b/source/blender/blenkernel/intern/subsurf_ccg.c @@ -1151,8 +1151,10 @@ static void ccgDM_drawEdges(DerivedMesh *dm, int drawLooseEdges, int UNUSED(draw CCGDerivedMesh *ccgdm = (CCGDerivedMesh*) dm; CCGSubSurf *ss = ccgdm->ss; CCGFaceIterator *fi = ccgSubSurf_getFaceIterator(ss); + CCGEdgeIterator *ei = ccgSubSurf_getEdgeIterator(ss); int gridSize = ccgSubSurf_getGridSize(ss); - int start, end, step; + int edgeSize = ccgSubSurf_getEdgeSize(ss); + int step; int useAging; ccgSubSurf_getUseAgeCounts(ss, &useAging, NULL, NULL, NULL); @@ -1165,20 +1167,12 @@ static void ccgDM_drawEdges(DerivedMesh *dm, int drawLooseEdges, int UNUSED(draw glColor3ub(0, 0, 0); } - if(drawLooseEdges) { - start = 0; - end = gridSize; - step = gridSize - 1; - } - else if(ccgdm->drawInteriorEdges) { - start = 1; - end = gridSize - 1; - step = 1; - } - - if(drawLooseEdges && ccgdm->drawInteriorEdges) + if(ccgdm->drawInteriorEdges) step = 1; + else + step = gridSize - 1; + /* draw edges using face grids */ for (; !ccgFaceIterator_isStopped(fi); ccgFaceIterator_next(fi)) { CCGFace *f = ccgFaceIterator_getCurrent(fi); int S, x, y, numVerts = ccgSubSurf_getFaceNumVerts(f); @@ -1186,13 +1180,13 @@ static void ccgDM_drawEdges(DerivedMesh *dm, int drawLooseEdges, int UNUSED(draw for (S=0; S Date: Sun, 24 Oct 2010 03:57:07 +0000 Subject: Added CMake macro REMOVE_STRICT_FLAGS(), this means developers can build with -Werror in their CMAKE_C_FLAGS_DEBUG (so all warnings give errors). but external libs which we don't maintain & generated code will have -Werror removed. This is GCC only, MSVC can be added easily. --- build_files/cmake/macros.cmake | 35 ++++++++++++++++++++++ extern/CMakeLists.txt | 2 +- source/blender/makesrna/intern/CMakeLists.txt | 4 +-- source/blender/render/CMakeLists.txt | 2 +- .../bad_level_call_stubs/CMakeLists.txt | 2 +- 5 files changed, 40 insertions(+), 5 deletions(-) diff --git a/build_files/cmake/macros.cmake b/build_files/cmake/macros.cmake index 9237f01a950..afd5f302314 100644 --- a/build_files/cmake/macros.cmake +++ b/build_files/cmake/macros.cmake @@ -238,6 +238,41 @@ MACRO(TEST_SSE_SUPPORT) ENDMACRO(TEST_SSE_SUPPORT) +# when we have warnings as errors applied globally this +# needs to be removed for some external libs which we dont maintain. + +# utility macro +MACRO(_REMOVE_STRICT_FLAGS + flag) + + STRING(REGEX REPLACE ${flag} "" CMAKE_C_FLAGS ${CMAKE_C_FLAGS}) + STRING(REGEX REPLACE ${flag} "" CMAKE_C_FLAGS_DEBUG ${CMAKE_C_FLAGS_DEBUG}) + STRING(REGEX REPLACE ${flag} "" CMAKE_C_FLAGS_RELEASE ${CMAKE_C_FLAGS_RELEASE}) + STRING(REGEX REPLACE ${flag} "" CMAKE_C_FLAGS_MINSIZEREL ${CMAKE_C_FLAGS_MINSIZEREL}) + STRING(REGEX REPLACE ${flag} "" CMAKE_C_FLAGS_RELWITHDEBINFO ${CMAKE_C_FLAGS_RELWITHDEBINFO}) + + STRING(REGEX REPLACE ${flag} "" CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS}) + STRING(REGEX REPLACE ${flag} "" CMAKE_CXX_FLAGS_DEBUG ${CMAKE_CXX_FLAGS_DEBUG}) + STRING(REGEX REPLACE ${flag} "" CMAKE_CXX_FLAGS_RELEASE ${CMAKE_CXX_FLAGS_RELEASE}) + STRING(REGEX REPLACE ${flag} "" CMAKE_CXX_FLAGS_MINSIZEREL ${CMAKE_CXX_FLAGS_MINSIZEREL}) + STRING(REGEX REPLACE ${flag} "" CMAKE_CXX_FLAGS_RELWITHDEBINFO ${CMAKE_CXX_FLAGS_RELWITHDEBINFO}) + +ENDMACRO(_REMOVE_STRICT_FLAGS) + +MACRO(REMOVE_STRICT_FLAGS) + + IF(CMAKE_COMPILER_IS_GNUCC) + _REMOVE_STRICT_FLAGS("-Wunused-parameter") + _REMOVE_STRICT_FLAGS("-Werror=[^ ]+") + _REMOVE_STRICT_FLAGS("-Werror") + ENDIF(CMAKE_COMPILER_IS_GNUCC) + + IF(MSVC) + # TODO + ENDIF(MSVC) + +ENDMACRO(REMOVE_STRICT_FLAGS) + MACRO(GET_BLENDER_VERSION) FILE(READ ${CMAKE_SOURCE_DIR}/source/blender/blenkernel/BKE_blender.h CONTENT) diff --git a/extern/CMakeLists.txt b/extern/CMakeLists.txt index 61acff4cfe4..1dc610cc1b4 100644 --- a/extern/CMakeLists.txt +++ b/extern/CMakeLists.txt @@ -25,7 +25,7 @@ # ***** END GPL LICENSE BLOCK ***** # Otherwise we get warnings here that we cant fix in external projects -STRING(REGEX REPLACE "-Wunused-parameter" "" CMAKE_C_FLAGS ${CMAKE_C_FLAGS}) +REMOVE_STRICT_FLAGS() IF(WITH_BULLET) ADD_SUBDIRECTORY(bullet2) diff --git a/source/blender/makesrna/intern/CMakeLists.txt b/source/blender/makesrna/intern/CMakeLists.txt index 97e16bba057..5fd7ae1bd8a 100644 --- a/source/blender/makesrna/intern/CMakeLists.txt +++ b/source/blender/makesrna/intern/CMakeLists.txt @@ -24,8 +24,8 @@ # # ***** END GPL LICENSE BLOCK ***** -# this warning on generated files gets annoying -STRING(REGEX REPLACE "-Wunused-parameter" "" CMAKE_C_FLAGS ${CMAKE_C_FLAGS}) +# Generated code has some unused vars we can ignore. +REMOVE_STRICT_FLAGS() FILE(GLOB DEFSRC RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "*.c") FILE(GLOB APISRC RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "*_api.c") diff --git a/source/blender/render/CMakeLists.txt b/source/blender/render/CMakeLists.txt index f2da8f4d13e..bed48a3fd17 100644 --- a/source/blender/render/CMakeLists.txt +++ b/source/blender/render/CMakeLists.txt @@ -25,7 +25,7 @@ # ***** END GPL LICENSE BLOCK ***** # remove warning until render branch merged. -STRING(REGEX REPLACE "-Wunused-parameter" "" CMAKE_C_FLAGS ${CMAKE_C_FLAGS}) +REMOVE_STRICT_FLAGS() SET(INC intern/include diff --git a/source/blenderplayer/bad_level_call_stubs/CMakeLists.txt b/source/blenderplayer/bad_level_call_stubs/CMakeLists.txt index a40c0f19725..a242c8b7551 100644 --- a/source/blenderplayer/bad_level_call_stubs/CMakeLists.txt +++ b/source/blenderplayer/bad_level_call_stubs/CMakeLists.txt @@ -25,7 +25,7 @@ # ***** END GPL LICENSE BLOCK ***** # this warning on generated files gets annoying -STRING(REGEX REPLACE "-Wunused-parameter" "" CMAKE_C_FLAGS ${CMAKE_C_FLAGS}) +REMOVE_STRICT_FLAGS() SET(INC . -- cgit v1.2.3 From 1424a171a464f79073da2a00c2b5bfa66bf00bc4 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Sun, 24 Oct 2010 06:16:44 +0000 Subject: bugfix [#21097] Rotating multiple bones with non-local location behaves incorrectly. - rotation and bone scaling with Durian feature 'Local Location' would fail to correctly translate the bone because a different matrix is needed for translation and rotation. --- source/blender/editors/transform/transform.c | 16 +++++++++++++--- source/blender/editors/transform/transform.h | 3 +++ source/blender/editors/transform/transform_conversions.c | 15 ++++++++++++++- 3 files changed, 30 insertions(+), 4 deletions(-) diff --git a/source/blender/editors/transform/transform.c b/source/blender/editors/transform/transform.c index a43078e5d6a..dbeee4fddbd 100644 --- a/source/blender/editors/transform/transform.c +++ b/source/blender/editors/transform/transform.c @@ -2916,9 +2916,19 @@ static void ElementRotation(TransInfo *t, TransData *td, float mat[3][3], short sub_v3_v3v3(vec, vec, td->center); // Translation needed from the initial location - mul_m3_v3(pmtx, vec); // To Global space - mul_m3_v3(td->smtx, vec);// To Pose space - + /* special exception, see TD_PBONE_LOCAL_MTX definition comments */ + if(td->flag & TD_PBONE_LOCAL_MTX_P) { + /* do nothing */ + } + else if (td->flag & TD_PBONE_LOCAL_MTX_C) { + mul_m3_v3(pmtx, vec); // To Global space + mul_m3_v3(td->ext->l_smtx, vec);// To Pose space (Local Location) + } + else { + mul_m3_v3(pmtx, vec); // To Global space + mul_m3_v3(td->smtx, vec);// To Pose space + } + protectedTransBits(td->protectflag, vec); add_v3_v3v3(td->loc, td->iloc, vec); diff --git a/source/blender/editors/transform/transform.h b/source/blender/editors/transform/transform.h index c897c1df842..49ce4d2e0dd 100644 --- a/source/blender/editors/transform/transform.h +++ b/source/blender/editors/transform/transform.h @@ -146,6 +146,7 @@ typedef struct TransDataExtension { float *size; /* Size of the data to transform (Faculative) */ float isize[3]; /* Initial size */ float obmat[4][4]; /* Object matrix */ + float l_smtx[3][3]; /* use instead of td->smtx, It is the same but without the 'bone->bone_mat', see TD_PBONE_LOCAL_MTX_C */ } TransDataExtension; typedef struct TransData2D { @@ -432,6 +433,8 @@ typedef struct TransInfo { #define TD_MIRROR_EDGE (1 << 16) /* For editmode mirror, clamp to x = 0 */ #define TD_MOVEHANDLE1 (1 << 17) /* For fcurve handles, move them along with their keyframes */ #define TD_MOVEHANDLE2 (1 << 18) +#define TD_PBONE_LOCAL_MTX_P (1 << 19) /* exceptional case with pose bone rotating when a parent bone has 'Local Location' option enabled and rotating also transforms it. */ +#define TD_PBONE_LOCAL_MTX_C (1 << 20) /* same as above but for a child bone */ /* transsnap->status */ #define SNAP_FORCED 1 diff --git a/source/blender/editors/transform/transform_conversions.c b/source/blender/editors/transform/transform_conversions.c index 5b1813559bb..818e5c2df66 100644 --- a/source/blender/editors/transform/transform_conversions.c +++ b/source/blender/editors/transform/transform_conversions.c @@ -554,7 +554,7 @@ static void add_pose_transdata(TransInfo *t, bPoseChannel *pchan, Object *ob, Tr /* proper way to get parent transform + own transform + constraints transform */ copy_m3_m4(omat, ob->obmat); - if (t->mode==TFM_TRANSLATION && (pchan->bone->flag & BONE_NO_LOCAL_LOCATION)) + if (ELEM(t->mode, TFM_TRANSLATION, TFM_RESIZE) && (pchan->bone->flag & BONE_NO_LOCAL_LOCATION)) unit_m3(bmat); else copy_m3_m3(bmat, pchan->bone->bone_mat); @@ -585,6 +585,19 @@ static void add_pose_transdata(TransInfo *t, bPoseChannel *pchan, Object *ob, Tr invert_m3_m3(td->smtx, td->mtx); + /* exceptional case: rotate the pose bone which also applies transformation + * when a parentless bone has BONE_NO_LOCAL_LOCATION [] */ + if (!ELEM(t->mode, TFM_TRANSLATION, TFM_RESIZE) && (pchan->bone->flag & BONE_NO_LOCAL_LOCATION)) { + if(pchan->parent) { + /* same as td->smtx but without pchan->bone->bone_mat */ + td->flag |= TD_PBONE_LOCAL_MTX_C; + mul_m3_m3m3(td->ext->l_smtx, pchan->bone->bone_mat, td->smtx); + } + else { + td->flag |= TD_PBONE_LOCAL_MTX_P; + } + } + /* for axismat we use bone's own transform */ copy_m3_m4(pmat, pchan->pose_mat); mul_m3_m3m3(td->axismtx, omat, pmat); -- cgit v1.2.3 From 619a8b6952b63108c95c031683102f45bd049cd4 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Sun, 24 Oct 2010 07:02:19 +0000 Subject: bugfix [#24357] Font folder can be specified but is not opened - open operator was incorrectly checking if the font path was set. - rna ID editable check was also incorrect, checking the ID name rather then the filename. - use define FO_BUILTIN_NAME rather then "". --- source/blender/blenkernel/intern/font.c | 18 +++++++++--------- source/blender/blenkernel/intern/packedFile.c | 2 +- source/blender/blenlib/intern/bpath.c | 2 +- source/blender/blenloader/intern/readfile.c | 4 ++-- source/blender/editors/curve/editfont.c | 7 ++++--- source/blender/editors/interface/interface_draw.c | 12 ++++++------ source/blender/makesdna/DNA_vfont_types.h | 1 + source/blender/makesrna/intern/rna_ID.c | 4 +++- 8 files changed, 27 insertions(+), 23 deletions(-) diff --git a/source/blender/blenkernel/intern/font.c b/source/blender/blenkernel/intern/font.c index 131b16b319e..58917e75a43 100644 --- a/source/blender/blenkernel/intern/font.c +++ b/source/blender/blenkernel/intern/font.c @@ -305,7 +305,7 @@ static VFontData *vfont_get_data(VFont *vfont) if (!vfont->data) { PackedFile *pf; - if (BLI_streq(vfont->name, "")) { + if (strcmp(vfont->name, FO_BUILTIN_NAME)==0) { pf= get_builtin_packedfile(); } else { if (vfont->packedfile) { @@ -342,7 +342,7 @@ static VFontData *vfont_get_data(VFont *vfont) if(!pf) { printf("Font file doesn't exist: %s\n", vfont->name); - strcpy(vfont->name, ""); + strcpy(vfont->name, FO_BUILTIN_NAME); pf= get_builtin_packedfile(); } } @@ -367,7 +367,7 @@ VFont *load_vfont(char *name) int is_builtin; struct TmpFont *tmpfnt; - if (BLI_streq(name, "")) { + if (strcmp(name, FO_BUILTIN_NAME)==0) { strcpy(filename, name); pf= get_builtin_packedfile(); @@ -403,8 +403,8 @@ VFont *load_vfont(char *name) vfont->packedfile = pf; } - // Do not add to temporary listbase - if(strcmp(filename, "")) + // Do not add FO_BUILTIN_NAME to temporary listbase + if(strcmp(filename, FO_BUILTIN_NAME)) { tmpfnt= (struct TmpFont *) MEM_callocN(sizeof(struct TmpFont), "temp_font"); tmpfnt->pf= tpf; @@ -443,10 +443,10 @@ VFont *get_builtin_font(void) VFont *vf; for (vf= G.main->vfont.first; vf; vf= vf->id.next) - if (BLI_streq(vf->name, "")) + if (strcmp(vf->name, FO_BUILTIN_NAME)==0) return vf; - return load_vfont(""); + return load_vfont(FO_BUILTIN_NAME); } static VChar *find_vfont_char(VFontData *vfd, intptr_t character) @@ -781,10 +781,10 @@ struct chartrans *BKE_text_to_curve(Scene *scene, Object *ob, int mode) /* * The character wasn't in the current curve base so load it - * But if the font is then do not try loading since + * But if the font is FO_BUILTIN_NAME then do not try loading since * whole font is in the memory already */ - if(che == NULL && strcmp(vfont->name, "")) { + if(che == NULL && strcmp(vfont->name, FO_BUILTIN_NAME)) { BLI_vfontchar_from_freetypefont(vfont, ascii); } diff --git a/source/blender/blenkernel/intern/packedFile.c b/source/blender/blenkernel/intern/packedFile.c index 33f1949c5ac..e8223caed41 100644 --- a/source/blender/blenkernel/intern/packedFile.c +++ b/source/blender/blenkernel/intern/packedFile.c @@ -227,7 +227,7 @@ void packAll(Main *bmain, ReportList *reports) } for(vf=bmain->vfont.first; vf; vf=vf->id.next) - if(vf->packedfile == NULL && vf->id.lib==NULL && strcmp(vf->name, "") != 0) + if(vf->packedfile == NULL && vf->id.lib==NULL && strcmp(vf->name, FO_BUILTIN_NAME) != 0) vf->packedfile = newPackedFile(reports, vf->name); for(sound=bmain->sound.first; sound; sound=sound->id.next) diff --git a/source/blender/blenlib/intern/bpath.c b/source/blender/blenlib/intern/bpath.c index 862df4103a7..8711857f83a 100644 --- a/source/blender/blenlib/intern/bpath.c +++ b/source/blender/blenlib/intern/bpath.c @@ -171,7 +171,7 @@ static struct VFont *vf_stepdata__internal(struct VFont *vf, int step_next) { vf = vf->id.next; while (vf) { - if (vf->packedfile==NULL && BLI_streq(vf->name, "")==0) { + if (vf->packedfile==NULL && strcmp(vf->name, FO_BUILTIN_NAME)!=0) { break; } diff --git a/source/blender/blenloader/intern/readfile.c b/source/blender/blenloader/intern/readfile.c index c40448aab19..b50b1bcf57c 100644 --- a/source/blender/blenloader/intern/readfile.c +++ b/source/blender/blenloader/intern/readfile.c @@ -7269,8 +7269,8 @@ static void do_versions(FileData *fd, Library *lib, Main *main) Object *ob; for (vf= main->vfont.first; vf; vf= vf->id.next) { - if (BLI_streq(vf->name+strlen(vf->name)-6, ".Bfont")) { - strcpy(vf->name, ""); + if (strcmp(vf->name+strlen(vf->name)-6, ".Bfont")==0) { + strcpy(vf->name, FO_BUILTIN_NAME); } } diff --git a/source/blender/editors/curve/editfont.c b/source/blender/editors/curve/editfont.c index 44a664b5f30..13678b0dfe5 100644 --- a/source/blender/editors/curve/editfont.c +++ b/source/blender/editors/curve/editfont.c @@ -1696,7 +1696,8 @@ static int open_invoke(bContext *C, wmOperator *op, wmEvent *UNUSED(event)) cu = ob->data; font = cu->vfont; } - path = (font && font->name)? font->name: U.fontdir; + printf("%s\n", font->name); + path = (font && strcmp(font->name, FO_BUILTIN_NAME) != 0)? font->name: U.fontdir; if(RNA_property_is_set(op->ptr, "filepath")) return open_exec(C, op); @@ -1737,7 +1738,7 @@ static int font_unlink_poll(bContext *C) if (ob->type != OB_FONT) return 0; cu = ob->data; - if (cu && strcmp(cu->vfont->name, "")==0) return 0; + if (cu && strcmp(cu->vfont->name, FO_BUILTIN_NAME)==0) return 0; return 1; } @@ -1755,7 +1756,7 @@ static int font_unlink_exec(bContext *C, wmOperator *op) return OPERATOR_CANCELLED; } - if (strcmp(font->name, "")==0) { + if (strcmp(font->name, FO_BUILTIN_NAME)==0) { BKE_report(op->reports, RPT_WARNING, "Can't unlink the default builtin font."); return OPERATOR_FINISHED; } diff --git a/source/blender/editors/interface/interface_draw.c b/source/blender/editors/interface/interface_draw.c index 81b04fea062..768be97f930 100644 --- a/source/blender/editors/interface/interface_draw.c +++ b/source/blender/editors/interface/interface_draw.c @@ -517,7 +517,7 @@ static void ui_draw_but_CHARTAB(uiBut *but) int charmax = G.charmax; /* font in use. There are TTF and non-TTF fonts */ - if(!strcmp(G.selfont->name, "")) + if(!strcmp(G.selfont->name, FO_BUILTIN_NAME)) { if(G.ui_international == TRUE) { @@ -548,8 +548,8 @@ static void ui_draw_but_CHARTAB(uiBut *but) cs = G.charstart; - /* Set the font, in case it is not font */ - if(G.selfont && strcmp(G.selfont->name, "")) + /* Set the font, in case it is not FO_BUILTIN_NAME font */ + if(G.selfont && strcmp(G.selfont->name, FO_BUILTIN_NAME)) { char tmpStr[256]; @@ -605,9 +605,9 @@ static void ui_draw_but_CHARTAB(uiBut *but) memset(wstr, 0, sizeof(wchar_t)*2); memset(ustr, 0, 16); - // Set the font to be either unicode or + // Set the font to be either unicode or FO_BUILTIN_NAME wstr[0] = cs; - if(strcmp(G.selfont->name, "")) + if(strcmp(G.selfont->name, FO_BUILTIN_NAME)) { wcs2utf8s((char *)ustr, (wchar_t *)wstr); } @@ -624,7 +624,7 @@ static void ui_draw_but_CHARTAB(uiBut *but) } } - if((G.selfont && strcmp(G.selfont->name, "")) || (G.selfont && !strcmp(G.selfont->name, "") && G.ui_international == TRUE)) + if((G.selfont && strcmp(G.selfont->name, FO_BUILTIN_NAME)) || (G.selfont && !strcmp(G.selfont->name, FO_BUILTIN_NAME) && G.ui_international == TRUE)) { float wid; float llx, lly, llz, urx, ury, urz; diff --git a/source/blender/makesdna/DNA_vfont_types.h b/source/blender/makesdna/DNA_vfont_types.h index 0ea60c732cf..e342ef1cd79 100644 --- a/source/blender/makesdna/DNA_vfont_types.h +++ b/source/blender/makesdna/DNA_vfont_types.h @@ -55,5 +55,6 @@ typedef struct VFont { #define FO_PAGEDOWN 9 #define FO_SELCHANGE 10 +#define FO_BUILTIN_NAME "" #endif diff --git a/source/blender/makesrna/intern/rna_ID.c b/source/blender/makesrna/intern/rna_ID.c index 4321f8aa711..bc803415c7c 100644 --- a/source/blender/makesrna/intern/rna_ID.c +++ b/source/blender/makesrna/intern/rna_ID.c @@ -29,6 +29,7 @@ #include "RNA_define.h" #include "DNA_ID.h" +#include "DNA_vfont_types.h" #include "WM_types.h" @@ -98,7 +99,8 @@ static int rna_ID_name_editable(PointerRNA *ptr) ID *id= (ID*)ptr->data; if (GS(id->name) == ID_VF) { - if (strcmp(id->name+2, "")==0) + VFont *vf= (VFont *)id; + if (strcmp(vf->name, FO_BUILTIN_NAME)==0) return 0; } -- cgit v1.2.3 From deb058a66914c425cba7aa91eaf5fc04937fe73a Mon Sep 17 00:00:00 2001 From: Damien Plisson Date: Sun, 24 Oct 2010 07:55:56 +0000 Subject: Collada : header files order dependency was making osx compile fail --- source/blender/collada/MaterialExporter.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/blender/collada/MaterialExporter.cpp b/source/blender/collada/MaterialExporter.cpp index d155b2196ff..dfb64e383a7 100644 --- a/source/blender/collada/MaterialExporter.cpp +++ b/source/blender/collada/MaterialExporter.cpp @@ -23,9 +23,9 @@ * ***** END GPL LICENSE BLOCK ***** */ -#include "COLLADABUUtils.h" #include "MaterialExporter.h" +#include "COLLADABUUtils.h" #include "collada_internal.h" MaterialsExporter::MaterialsExporter(COLLADASW::StreamWriter *sw): COLLADASW::LibraryMaterials(sw){} -- cgit v1.2.3 From 989a610fc8a7af6ae8fa65695278d69faf93a898 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Sun, 24 Oct 2010 08:06:19 +0000 Subject: rna rename: use_inherit_rotate -> use_inherit_rotation, noticed _rotate is not used like this much elsewhere in rna. --- release/scripts/op/animsys_update.py | 2 +- release/scripts/ui/properties_data_bone.py | 2 +- source/blender/makesrna/intern/rna_armature.c | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/release/scripts/op/animsys_update.py b/release/scripts/op/animsys_update.py index 7392030f62e..41ad65b1d71 100644 --- a/release/scripts/op/animsys_update.py +++ b/release/scripts/op/animsys_update.py @@ -367,7 +367,7 @@ data_path_update = [ ("PoseBone", "ik_limit_z", "use_ik_limit_z"), ("PoseBone", "ik_lin_control", "use_ik_linear_control"), ("PoseBone", "ik_rot_control", "use_ik_rotation_control"), - ("Bone", "use_hinge", "use_inherit_rotate"), + ("Bone", "use_hinge", "use_inherit_rotation"), ("SPHFluidSettings", "spring_k", "spring_force"), ("SPHFluidSettings", "stiffness_k", "stiffness"), ("SPHFluidSettings", "stiffness_knear", "stiffness_near"), diff --git a/release/scripts/ui/properties_data_bone.py b/release/scripts/ui/properties_data_bone.py index a9defd7217f..9a98e8c0544 100644 --- a/release/scripts/ui/properties_data_bone.py +++ b/release/scripts/ui/properties_data_bone.py @@ -163,7 +163,7 @@ class BONE_PT_relations(BoneButtonsPanel, bpy.types.Panel): sub = col.column() sub.active = (bone.parent is not None) sub.prop(bone, "use_connect") - sub.prop(bone, "use_inherit_rotate", text="Inherit Rotation") + sub.prop(bone, "use_inherit_rotation", text="Inherit Rotation") sub.prop(bone, "use_inherit_scale", text="Inherit Scale") sub = col.column() sub.active = (not bone.parent or not bone.use_connect) diff --git a/source/blender/makesrna/intern/rna_armature.c b/source/blender/makesrna/intern/rna_armature.c index ad1d8d3bf7f..25ac6f5e558 100644 --- a/source/blender/makesrna/intern/rna_armature.c +++ b/source/blender/makesrna/intern/rna_armature.c @@ -414,7 +414,7 @@ static void rna_def_bone_common(StructRNA *srna, int editbone) RNA_def_property_ui_text(prop, "Connected", "When bone has a parent, bone's head is struck to the parent's tail"); RNA_def_property_update(prop, 0, "rna_Armature_update_data"); - prop= RNA_def_property(srna, "use_inherit_rotate", PROP_BOOLEAN, PROP_NONE); + prop= RNA_def_property(srna, "use_inherit_rotation", PROP_BOOLEAN, PROP_NONE); RNA_def_property_boolean_negative_sdna(prop, NULL, "flag", BONE_HINGE); RNA_def_property_ui_text(prop, "Inherit Rotation", "Bone inherits rotation or scale from parent bone"); RNA_def_property_update(prop, 0, "rna_Armature_update_data"); -- cgit v1.2.3 From 715fa82769a2d239bdf73701719ae354ca527c59 Mon Sep 17 00:00:00 2001 From: Nathan Letwory Date: Sun, 24 Oct 2010 12:45:47 +0000 Subject: Make sure separation between modifier keys is communicated from GHOST upwards too (BGE at least uses this). --- intern/ghost/intern/GHOST_SystemWin32.cpp | 38 ++++++++++++++++++++---- intern/ghost/intern/GHOST_SystemWin32.h | 16 ++++++++-- source/blender/blenkernel/intern/curve.c | 3 +- source/blender/blenkernel/intern/customdata.c | 3 +- source/blender/blenkernel/intern/effect.c | 3 +- source/blender/editors/space_view3d/drawobject.c | 3 +- source/blender/modifiers/intern/MOD_screw.c | 3 +- 7 files changed, 55 insertions(+), 14 deletions(-) diff --git a/intern/ghost/intern/GHOST_SystemWin32.cpp b/intern/ghost/intern/GHOST_SystemWin32.cpp index fb419aef526..42bb2403895 100644 --- a/intern/ghost/intern/GHOST_SystemWin32.cpp +++ b/intern/ghost/intern/GHOST_SystemWin32.cpp @@ -289,16 +289,19 @@ GHOST_TSuccess GHOST_SystemWin32::setCursorPosition(GHOST_TInt32 x, GHOST_TInt32 GHOST_TSuccess GHOST_SystemWin32::getModifierKeys(GHOST_ModifierKeys& keys) const { - bool down = HIBYTE(::GetKeyState(VK_SHIFT)) != 0; + bool down = HIBYTE(::GetKeyState(VK_LSHIFT)) != 0; keys.set(GHOST_kModifierKeyLeftShift, down); + down = HIBYTE(::GetKeyState(VK_RSHIFT)) != 0; keys.set(GHOST_kModifierKeyRightShift, down); - down = HIBYTE(::GetKeyState(VK_MENU)) != 0; + down = HIBYTE(::GetKeyState(VK_LMENU)) != 0; keys.set(GHOST_kModifierKeyLeftAlt, down); + down = HIBYTE(::GetKeyState(VK_RMENU)) != 0; keys.set(GHOST_kModifierKeyRightAlt, down); - down = HIBYTE(::GetKeyState(VK_CONTROL)) != 0; + down = HIBYTE(::GetKeyState(VK_LCONTROL)) != 0; keys.set(GHOST_kModifierKeyLeftControl, down); + down = HIBYTE(::GetKeyState(VK_RCONTROL)) != 0; keys.set(GHOST_kModifierKeyRightControl, down); bool lwindown = HIBYTE(::GetKeyState(VK_LWIN)) != 0; @@ -407,6 +410,7 @@ GHOST_TKey GHOST_SystemWin32::convertKey(GHOST_IWindow *window, WPARAM wParam, L system->retrieveModifierKeys(oldModifiers); system->getModifierKeys(newModifiers); + //std::cout << wParam << " " << system->m_curKeyStatus[wParam] << " shift pressed: " << system->shiftPressed() << std::endl; if ((wParam >= '0') && (wParam <= '9')) { // VK_0 thru VK_9 are the same as ASCII '0' thru '9' (0x30 - 0x39) @@ -432,7 +436,14 @@ GHOST_TKey GHOST_SystemWin32::convertKey(GHOST_IWindow *window, WPARAM wParam, L case VK_PRIOR: key = GHOST_kKeyUpPage; break; case VK_NEXT: key = GHOST_kKeyDownPage; break; case VK_END: key = GHOST_kKeyEnd; break; - case VK_HOME: key = GHOST_kKeyHome; break; + case VK_HOME: + { + if(system->m_curKeyStatus[VK_NUMPAD7] && system->shiftPressed()) + key = GHOST_kKeyNumpad7; + else + key = GHOST_kKeyHome; + } + break; case VK_INSERT: key = GHOST_kKeyInsert; break; case VK_DELETE: key = GHOST_kKeyDelete; break; case VK_LEFT: key = GHOST_kKeyLeftArrow; break; @@ -672,23 +683,38 @@ void GHOST_SystemWin32::processMinMaxInfo(MINMAXINFO * minmax) LRESULT CALLBACK GHOST_SystemWin32::s_llKeyboardProc(int nCode, WPARAM wParam, LPARAM lParam) { GHOST_SystemWin32* system = ((GHOST_SystemWin32*)getSystem()); + + bool down = false; + if(wParam==WM_KEYDOWN || wParam==WM_SYSKEYDOWN ){ + down = true; + } + + if(nCode!=HC_ACTION) + return CallNextHookEx(system->m_llKeyboardHook, nCode, wParam, lParam); + KBDLLHOOKSTRUCT &keyb = *(PKBDLLHOOKSTRUCT)(lParam); system->m_prevKeyStatus[keyb.vkCode] = system->m_curKeyStatus[keyb.vkCode]; + //std::cout << "ll: " << keyb.vkCode << " " << down << " "; if(keyb.flags) { if((keyb.flags & LLKHF_EXTENDED) == LLKHF_EXTENDED) { + //std::cout << "extended "; } if((keyb.flags & LLKHF_ALTDOWN) == LLKHF_ALTDOWN) { } + if((keyb.flags & LLKHF_INJECTED)== LLKHF_INJECTED) { + //std::cout << "injected "; + } if((keyb.flags & LLKHF_UP) == LLKHF_UP) { system->m_curKeyStatus[keyb.vkCode] = false; + //std::cout << "up" << std::endl; } else { system->m_curKeyStatus[keyb.vkCode] = true; - } - if((keyb.flags & LLKHF_INJECTED)== LLKHF_INJECTED) { + //std::cout << "down" << std::endl; } } else { system->m_curKeyStatus[keyb.vkCode] = true; + //std::cout << "down" << std::endl; } return CallNextHookEx(system->m_llKeyboardHook, nCode, wParam, lParam); diff --git a/intern/ghost/intern/GHOST_SystemWin32.h b/intern/ghost/intern/GHOST_SystemWin32.h index ab2f34cc27a..88705fe2ce4 100644 --- a/intern/ghost/intern/GHOST_SystemWin32.h +++ b/intern/ghost/intern/GHOST_SystemWin32.h @@ -248,7 +248,7 @@ protected: * events generated for both keys. * @param window The window receiving the event (the active window). */ - GHOST_EventKey* processModifierKeys(GHOST_IWindow *window); + //GHOST_EventKey* processModifierKeys(GHOST_IWindow *window); /** * Creates mouse button event. @@ -314,7 +314,7 @@ protected: /** * Check current key layout for AltGr */ - inline virtual void keyboardAltGr(); + inline virtual void keyboardAltGr(void); /** * Windows call back routine for our window class. @@ -325,6 +325,11 @@ protected: * Low-level inspection of keyboard events */ static LRESULT CALLBACK s_llKeyboardProc(int nCode, WPARAM wParam, LPARAM lParam); + + /** + * Check if any shiftkey is pressed + */ + inline virtual bool shiftPressed(void); /** The current state of the modifier keys. */ GHOST_ModifierKeys m_modifierKeys; @@ -352,7 +357,7 @@ inline void GHOST_SystemWin32::storeModifierKeys(const GHOST_ModifierKeys& keys) m_modifierKeys = keys; } -inline void GHOST_SystemWin32::keyboardAltGr() +inline void GHOST_SystemWin32::keyboardAltGr(void) { HKL keylayout = GetKeyboardLayout(0); // get keylayout for current thread int i; @@ -369,5 +374,10 @@ inline void GHOST_SystemWin32::keyboardAltGr() } } +inline bool GHOST_SystemWin32::shiftPressed(void) +{ + return (m_curKeyStatus[VK_SHIFT] || m_curKeyStatus[VK_RSHIFT] || m_curKeyStatus[VK_LSHIFT]); +} + #endif // _GHOST_SYSTEM_WIN32_H_ diff --git a/source/blender/blenkernel/intern/curve.c b/source/blender/blenkernel/intern/curve.c index 06ba066efdd..a7dd80bff4d 100644 --- a/source/blender/blenkernel/intern/curve.c +++ b/source/blender/blenkernel/intern/curve.c @@ -1939,10 +1939,11 @@ static void make_bevel_list_3D_tangent(BevList *bl) /* make perpendicular, modify tan in place, is ok */ float cross_tmp[3]; + float zero[3] = {0,0,0}; cross_v3_v3v3(cross_tmp, bevp1->tan, bevp1->dir); normalize_v3(cross_tmp); - tri_to_quat( bevp1->quat, (float [3]){0,0,0}, cross_tmp, bevp1->tan); /* XXX - could be faster */ + tri_to_quat( bevp1->quat,zero, cross_tmp, bevp1->tan); /* XXX - could be faster */ bevp0= bevp1; bevp1= bevp2; diff --git a/source/blender/blenkernel/intern/customdata.c b/source/blender/blenkernel/intern/customdata.c index 3eec7611697..9c4f0d790ca 100644 --- a/source/blender/blenkernel/intern/customdata.c +++ b/source/blender/blenkernel/intern/customdata.c @@ -502,7 +502,8 @@ static void layerInterp_mdisps(void **UNUSED(sources), float *UNUSED(weights), /* Initialize the destination */ for(i = 0; i < d->totdisp; ++i) { - zero_v3(d->disps[i]); + float z[3] = {0,0,0}; + copy_v3_v3(d->disps[i], z); } /* For now, some restrictions on the input */ diff --git a/source/blender/blenkernel/intern/effect.c b/source/blender/blenkernel/intern/effect.c index 47606c39937..70e814ef956 100644 --- a/source/blender/blenkernel/intern/effect.c +++ b/source/blender/blenkernel/intern/effect.c @@ -1007,7 +1007,8 @@ void pdDoEffectors(ListBase *effectors, ListBase *colliders, EffectorWeights *we else if(eff->pd->forcefield == PFIELD_TEXTURE) do_texture_effector(eff, &efd, point, force); else { - float temp1[3]={force[0], force[1], force[2]}, temp2[3]; + float temp1[3]={0,0,0}, temp2[3]; + VECCOPY(temp1, force); do_physical_effector(eff, &efd, point, force); diff --git a/source/blender/editors/space_view3d/drawobject.c b/source/blender/editors/space_view3d/drawobject.c index 171c5a311c1..bc340ef5b4b 100644 --- a/source/blender/editors/space_view3d/drawobject.c +++ b/source/blender/editors/space_view3d/drawobject.c @@ -6139,7 +6139,8 @@ void draw_object(Scene *scene, ARegion *ar, View3D *v3d, Base *base, int flag) /* patch for several 3d cards (IBM mostly) that crash on glSelect with text drawing */ /* but, we also dont draw names for sets or duplicators */ if(flag == 0) { - view3d_cached_text_draw_add((float [3]){0,0,0}, ob->id.name+2, 10, 0); + float zero[3]= {0,0,0}; + view3d_cached_text_draw_add(zero, ob->id.name+2, 10, 0); } } /*if(dtx & OB_DRAWIMAGE) drawDispListwire(&ob->disp);*/ diff --git a/source/blender/modifiers/intern/MOD_screw.c b/source/blender/modifiers/intern/MOD_screw.c index b71249880a6..668f0a086d1 100644 --- a/source/blender/modifiers/intern/MOD_screw.c +++ b/source/blender/modifiers/intern/MOD_screw.c @@ -212,8 +212,9 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob, float totlen = len_v3(mtx_tx[3]); if(totlen != 0.0f) { + float zero[3]={0.0f, 0.0f, 0.0f}; float cp[3]; - screw_ofs= closest_to_line_v3(cp, mtx_tx[3], (float []){0,0,0}, axis_vec); + screw_ofs= closest_to_line_v3(cp, mtx_tx[3], zero, axis_vec); } else { screw_ofs= 0.0f; -- cgit v1.2.3 From a301d2c898ed353aa6902a4893574ab24b7a2b4e Mon Sep 17 00:00:00 2001 From: Nathan Letwory Date: Sun, 24 Oct 2010 12:54:52 +0000 Subject: Remove the unsigned, since totbits is signed too. --- source/blender/blenkernel/intern/ipo.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/blender/blenkernel/intern/ipo.c b/source/blender/blenkernel/intern/ipo.c index a8e0aa81156..5ed6beaf376 100644 --- a/source/blender/blenkernel/intern/ipo.c +++ b/source/blender/blenkernel/intern/ipo.c @@ -1175,7 +1175,7 @@ static void icu_to_fcurves (ID *id, ListBase *groups, ListBase *list, IpoCurve * abp= adrcode_bitmaps_to_paths(icu->blocktype, icu->adrcode, &totbits); if (abp && totbits) { FCurve *fcurve; - unsigned int b; + int b; if (G.f & G_DEBUG) printf("\tconvert bitflag ipocurve, totbits = %d \n", totbits); -- cgit v1.2.3