This is reporting missing engine for any 2.49 file. (Engine not available: '' for scene: Scene, an addon ....)
[win7 64bit blender scons] 2011/4/12 Campbell Barton <ideasma...@gmail.com>: > Revision: 36119 > > http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=36119 > Author: campbellbarton > Date: 2011-04-12 15:55:38 +0000 (Tue, 12 Apr 2011) > Log Message: > ----------- > report missing engines on file load. (request from Martin). > > Modified Paths: > -------------- > trunk/blender/source/blender/render/intern/source/pipeline.c > trunk/blender/source/blender/windowmanager/intern/wm_files.c > trunk/blender/source/creator/creator.c > > Modified: trunk/blender/source/blender/render/intern/source/pipeline.c > =================================================================== > --- trunk/blender/source/blender/render/intern/source/pipeline.c > 2011-04-12 15:55:04 UTC (rev 36118) > +++ trunk/blender/source/blender/render/intern/source/pipeline.c > 2011-04-12 15:55:38 UTC (rev 36119) > @@ -35,6 +35,7 @@ > #include <limits.h> > #include <string.h> > #include <stdlib.h> > +#include <stddef.h> > > #include "DNA_group_types.h" > #include "DNA_image_types.h" > @@ -3349,13 +3350,9 @@ > > static int external_render_3d(Render *re, int do_all) > { > - RenderEngineType *type; > + RenderEngineType *type= BLI_findstring(&R_engines, re->r.engine, > offsetof(RenderEngineType, idname)); > RenderEngine engine; > > - for(type=R_engines.first; type; type=type->next) > - if(strcmp(type->idname, re->r.engine) == 0) > - break; > - > if(!(type && type->render)) > return 0; > if((re->r.scemode & R_PREVIEWBUTS) && !(type->flag & RE_DO_PREVIEW)) > > Modified: trunk/blender/source/blender/windowmanager/intern/wm_files.c > =================================================================== > --- trunk/blender/source/blender/windowmanager/intern/wm_files.c > 2011-04-12 15:55:04 UTC (rev 36118) > +++ trunk/blender/source/blender/windowmanager/intern/wm_files.c > 2011-04-12 15:55:38 UTC (rev 36119) > @@ -33,7 +33,7 @@ > /* placed up here because of crappy > * winsock stuff. > */ > -#include <stdio.h> > +#include <stddef.h> > #include <string.h> > #include <errno.h> > > @@ -96,6 +96,8 @@ > #include "ED_view3d.h" > #include "ED_util.h" > > +#include "RE_pipeline.h" /* only to report missing engine */ > + > #include "GHOST_C-api.h" > #include "GHOST_Path-api.h" > > @@ -338,6 +340,17 @@ > #endif > CTX_wm_window_set(C, NULL); /* exits queues */ > > + /* TODO, make this show in header info window */ > + { > + Scene *sce; > + for(sce= G.main->scene.first; sce; sce= sce->id.next) > { > + if(BLI_findstring(&R_engines, sce->r.engine, > offsetof(RenderEngineType, idname)) == NULL) { > + BKE_reportf(reports, RPT_WARNING, > "Engine not available: '%s' for scene: %s, an addon may need to be installed > or enabled", sce->r.engine, sce->id.name+2); > + } > + } > + } > + > + > // XXX undo_editmode_clear(); > BKE_reset_undo(); > BKE_write_undo(C, "original"); /* save current state */ > > Modified: trunk/blender/source/creator/creator.c > =================================================================== > --- trunk/blender/source/creator/creator.c 2011-04-12 15:55:04 UTC (rev > 36118) > +++ trunk/blender/source/creator/creator.c 2011-04-12 15:55:38 UTC (rev > 36119) > @@ -43,6 +43,7 @@ > #endif > > #include <stdlib.h> > +#include <stddef.h> > #include <string.h> > > /* for setuid / getuid */ > @@ -583,18 +584,12 @@ > { > printf("\nError: no blend loaded. order the > arguments so '-E / --engine ' is after a blend is loaded.\n"); > } > - else > - { > + else { > Scene *scene= CTX_data_scene(C); > RenderData *rd = &scene->r; > - RenderEngineType *type = NULL; > > - for( type = R_engines.first; type; type = > type->next ) > - { > - if (!strcmp(argv[1],type->idname)) > - { > - BLI_strncpy(rd->engine, > type->idname, sizeof(rd->engine)); > - } > + if(BLI_findstring(&R_engines, argv[1], > offsetof(RenderEngineType, idname))) { > + BLI_strncpy(rd->engine, argv[1], > sizeof(rd->engine)); > } > } > } > > _______________________________________________ > Bf-blender-cvs mailing list > bf-blender-...@blender.org > http://lists.blender.org/mailman/listinfo/bf-blender-cvs > _______________________________________________ Bf-committers mailing list Bf-committers@blender.org http://lists.blender.org/mailman/listinfo/bf-committers