Merged changes in the trunk up to revision 33112.
authorTamito Kajiyama <rd6t-kjym@asahi-net.or.jp>
Wed, 17 Nov 2010 00:58:03 +0000 (00:58 +0000)
committerTamito Kajiyama <rd6t-kjym@asahi-net.or.jp>
Wed, 17 Nov 2010 00:58:03 +0000 (00:58 +0000)
27 files changed:
1  2 
release/scripts/ui/space_dopesheet.py
release/scripts/ui/space_userpref.py
source/blender/blenkernel/intern/anim_sys.c
source/blender/blenkernel/intern/library.c
source/blender/blenkernel/intern/material.c
source/blender/blenkernel/intern/scene.c
source/blender/blenlib/BLI_bpath.h
source/blender/blenlib/intern/bpath.c
source/blender/blenloader/intern/readfile.c
source/blender/editors/animation/anim_channels_defines.c
source/blender/editors/animation/anim_channels_edit.c
source/blender/editors/animation/anim_filter.c
source/blender/editors/include/ED_anim_api.h
source/blender/editors/interface/interface_templates.c
source/blender/editors/space_outliner/outliner.c
source/blender/editors/transform/transform.c
source/blender/editors/transform/transform_orientations.c
source/blender/makesdna/DNA_action_types.h
source/blender/makesdna/DNA_scene_types.h
source/blender/makesrna/RNA_access.h
source/blender/makesrna/SConscript
source/blender/makesrna/intern/CMakeLists.txt
source/blender/makesrna/intern/rna_scene.c
source/blender/python/intern/bpy.c
source/blender/render/extern/include/RE_pipeline.h
source/blender/render/intern/source/pipeline.c
source/creator/creator.c

Simple merge
Simple merge
index 96eb67867b10d5e016e83aca85f63d92bc1ef988,47dfea8b91a60d879c0f60a78af7912574511291..d7b008c5a1befe118231d616c7f9877d18b14b21
@@@ -39,16 -39,10 +39,16 @@@ struct BPathIteratorSeqData 
        struct Scene *scene;                    /* Current scene */
  };
  
 +struct BPathIteratorFrsModuleData {
 +      struct Scene *scene;                    /* Current scene */
 +      struct SceneRenderLayer *layer; /* Scene render layer */
 +      struct FreestyleModuleConfig *module;
 +};
 +
  struct BPathIterator {
        char*   path;
-       char*   lib;
-       char*   name;
+       const char*     lib;
+       const char*     name;
        void*   data;
        int             len;
        int             type;
  
        /* only for seq data */
        struct BPathIteratorSeqData seqdata;
 +      /* only for Freestyle module data */
 +      struct BPathIteratorFrsModuleData frsmoduledata;
  };
  
- void                  BLI_bpathIterator_init                          (struct BPathIterator *bpi, char *base_path);
+ void                  BLI_bpathIterator_init                          (struct BPathIterator *bpi, const char *base_path);
  void                  BLI_bpathIterator_free                          (struct BPathIterator *bpi);
- char*                 BLI_bpathIterator_getLib                        (struct BPathIterator *bpi);
- char*                 BLI_bpathIterator_getName                       (struct BPathIterator *bpi);
+ const char*           BLI_bpathIterator_getLib                        (struct BPathIterator *bpi);
+ const char*           BLI_bpathIterator_getName                       (struct BPathIterator *bpi);
  int                           BLI_bpathIterator_getType                       (struct BPathIterator *bpi);
  int                           BLI_bpathIterator_getPathMaxLen         (struct BPathIterator *bpi);
  void                  BLI_bpathIterator_step                          (struct BPathIterator *bpi);
Simple merge
Simple merge
Simple merge
index a69fe64189e3306d351a063ed986dd19ab0e7070,ecade727bb670bf1714d314469544ea37180b112..c21e7bfdfceb141b8440ff9bacf9251073cb348f
@@@ -181,8 -182,20 +183,22 @@@ EnumPropertyItem image_type_items[] = 
  
  #include "RE_pipeline.h"
  
 +#include "FRS_freestyle.h"
 +
+ static PointerRNA rna_Scene_object_bases_lookup_string(PointerRNA *ptr, const char *key)
+ {
+       Scene *scene= (Scene*)ptr->data;
+       Base *base;
+       for(base= scene->base.first; base; base= base->next) {
+               if(strncmp(base->object->id.name+2, key, sizeof(base->object->id.name)-2)==0) {
+                       return rna_pointer_inherit_refine(ptr, &RNA_ObjectBase, base);
+               }
+       }
+       return PointerRNA_NULL;
+ }
  static PointerRNA rna_Scene_objects_get(CollectionPropertyIterator *iter)
  {
        ListBaseIterator *internal= iter->internal;
Simple merge
index 42bf95827e7ab0e1540c691371d119784bb743e2,e3f49025bbc080086c64a74673e541b87fb30195..265788830bc6114c5b9a81eed999df95a44ccd08
@@@ -212,9 -212,8 +212,9 @@@ void RE_init_threadcount(Render *re)
  void RE_TileProcessor(struct Render *re);
  
  /* only RE_NewRender() needed, main Blender render calls */
- void RE_BlenderFrame(struct Render *re, struct Main *bmain, struct Scene *scene, struct SceneRenderLayer *srl, unsigned int lay, int frame);
+ void RE_BlenderFrame(struct Render *re, struct Main *bmain, struct Scene *scene, struct SceneRenderLayer *srl, unsigned int lay, int frame, const short write_still);
  void RE_BlenderAnim(struct Render *re, struct Main *bmain, struct Scene *scene, unsigned int lay, int sfra, int efra, int tfra, struct ReportList *reports);
 +void RE_RenderFreestyleStrokes(struct Render *re, struct Main *bmain, struct Scene *scene);
  
  /* main preview render call */
  void RE_PreviewRender(struct Render *re, struct Main *bmain, struct Scene *scene);
index 4995e98fc0795afc424a4f61b86a47d6ed7355ea,5cd0e09fdf4a661351da23afa63125e2d29d289b..0bd8858d9d4176964e0ee7dc3445f75171d38eb6
@@@ -1533,10 -1532,10 +1537,10 @@@ static RenderPart *find_next_pano_slice
                        
        if(best) {
                float phi= panorama_pixel_rot(re);
+               /* R.disprect.xmax - R.disprect.xmin rather then R.winx for border render */
                R.panodxp= (re->winx - (best->disprect.xmin + best->disprect.xmax) )/2;
-               R.panodxv= ((viewplane->xmax-viewplane->xmin)*R.panodxp)/(float)R.winx;
+               R.panodxv= ((viewplane->xmax-viewplane->xmin)*R.panodxp)/(float)(R.disprect.xmax - R.disprect.xmin);
 -
 +              
                /* shift viewplane */
                R.viewplane.xmin = viewplane->xmin + R.panodxv;
                R.viewplane.xmax = viewplane->xmax + R.panodxv;
@@@ -2932,22 -2856,26 +2932,36 @@@ void RE_BlenderFrame(Render *re, Main *
                MEM_reset_peak_memory();
                do_render_all_options(re);
        }
 -
 +              
+       if(write_still) {
+               if(BKE_imtype_is_movie(scene->r.imtype)) {
+                       /* operator checks this but incase its called from elsewhere */
+                       printf("Error: cant write single images with a movie format!\n");
+               }
+               else {
+                       char name[FILE_MAX];
+                       BKE_makepicstring(name, scene->r.pic, scene->r.cfra, scene->r.imtype, scene->r.scemode & R_EXTENSION, FALSE);
+                       /* reports only used for Movie */
+                       do_write_image_or_movie(re, scene, NULL, NULL, name);
+               }
+       }
        /* UGLY WARNING */
        G.rendering= 0;
  }
  
- static int do_write_image_or_movie(Render *re, Scene *scene, bMovieHandle *mh, ReportList *reports)
 +void RE_RenderFreestyleStrokes(Render *re, Main *bmain, Scene *scene)
 +{
 +      re->result_ok= 0;
 +      scene->r.cfra= 1;
 +      if(render_initialize_from_main(re, bmain, scene, NULL, scene->lay, 0, 0)) {
 +              do_render_fields_blur_3d(re);
 +      }
 +      re->result_ok= 1;
 +}
 +
+ static int do_write_image_or_movie(Render *re, Scene *scene, bMovieHandle *mh, ReportList *reports, const char *name_override)
  {
        char name[FILE_MAX];
        RenderResult rres;
Simple merge