change filepath limit from 240 to 1024
authorCampbell Barton <ideasman42@gmail.com>
Sat, 21 Jan 2012 14:54:53 +0000 (14:54 +0000)
committerCampbell Barton <ideasman42@gmail.com>
Sat, 21 Jan 2012 14:54:53 +0000 (14:54 +0000)
29 files changed:
source/blender/blenkernel/BKE_global.h
source/blender/blenkernel/BKE_main.h
source/blender/blenkernel/BKE_utildefines.h
source/blender/blenloader/BLO_readfile.h
source/blender/blenpluginapi/iff.h
source/blender/editors/include/UI_interface_icons.h
source/blender/imbuf/IMB_imbuf_types.h
source/blender/imbuf/intern/IMB_anim.h
source/blender/imbuf/intern/IMB_indexer.h
source/blender/makesdna/DNA_ID.h
source/blender/makesdna/DNA_brush_types.h
source/blender/makesdna/DNA_customdata_types.h
source/blender/makesdna/DNA_dynamicpaint_types.h
source/blender/makesdna/DNA_fileglobal_types.h
source/blender/makesdna/DNA_image_types.h
source/blender/makesdna/DNA_modifier_types.h
source/blender/makesdna/DNA_movieclip_types.h
source/blender/makesdna/DNA_node_types.h
source/blender/makesdna/DNA_object_fluidsim.h
source/blender/makesdna/DNA_object_force.h
source/blender/makesdna/DNA_scene_types.h
source/blender/makesdna/DNA_sequence_types.h
source/blender/makesdna/DNA_sound_types.h
source/blender/makesdna/DNA_space_types.h
source/blender/makesdna/DNA_texture_types.h
source/blender/makesdna/DNA_userdef_types.h
source/blender/makesdna/DNA_vfont_types.h
source/blender/windowmanager/WM_types.h
source/gameengine/Converter/KX_ConvertActuators.cpp

index 7668d5392daa403f4ab806bfe0abae7b96a56c6b..ee3edbb47e758d3ed1a9411c8ade88389da2bb3d 100644 (file)
@@ -53,7 +53,7 @@ typedef struct Global {
        struct Main *main;
        
        /* strings: lastsaved */
-       char ima[256], lib[256];
+       char ima[1024], lib[1024]; /* 1024 = FILE_MAX */
 
        /* flag: if != 0 G.main->name contains valid relative base path */
        int relbase_valid;
index 51bcd18fab6d236bf6bd6d8db7fbebecfcdc4065..05ba60b8a5b5d8348cc61d3f37e5783dc2481671 100644 (file)
@@ -50,7 +50,7 @@ struct Library;
 
 typedef struct Main {
        struct Main *next, *prev;
-       char name[240]; /* 240 = FILE_MAX */
+       char name[1024]; /* 1024 = FILE_MAX */
        short versionfile, subversionfile;
        short minversionfile, minsubversionfile;
        int revision;   /* svn revision of binary that saved file */
index b5b3c7e67eb556bab9a7092a0f4f6b2a6af58e64..a6a9bb0c0f6deae989816303d418c4542a37d197 100644 (file)
@@ -43,9 +43,9 @@ extern "C" {
 /* these values need to be hardcoded in structs, dna does not recognize defines */
 /* also defined in DNA_space_types.h */
 #ifndef FILE_MAXDIR
-#define FILE_MAXDIR                    160
-#define FILE_MAXFILE           80
-#define FILE_MAX                       240
+#define FILE_MAXDIR                    768
+#define FILE_MAXFILE           256
+#define FILE_MAX                       1024
 #endif
 
 /* this weirdo pops up in two places ... */
index 38925ea523891f8e715563b1852f1852418c2bfd..d63baca883eb148848f60f72b0e46a46c9e8fd2f 100644 (file)
@@ -65,7 +65,7 @@ typedef struct BlendFileData {
        int fileflags;
        int displaymode;
        int globalf;
-       char filename[240];     /* 240 = FILE_MAX */
+       char filename[1024];    /* 1024 = FILE_MAX */
        
        struct bScreen* curscreen;
        struct Scene*   curscene;
index 6bd4e5bb2b068ad5c9cfb344af6d0efe12bc7346..f07e80b36cef7a14c2ed36dfaa8f63a642a6a98e 100644 (file)
@@ -63,7 +63,7 @@ typedef struct ImBuf {
        int channels;                   /**< amount of channels in rect_float (0 = 4 channel default) */
        float dither;                   /**< random dither value, for conversion from float -> byte rect */
        short profile;                  /** color space/profile preset that the byte rect buffer represents */
-       char profile_filename[256];             /** to be implemented properly, specific filename for custom profiles */
+       char profile_filename[1024];            /** to be implemented properly, specific filename for custom profiles */
 
        /* mipmapping */
        struct ImBuf *mipmap[IB_MIPMAP_LEVELS]; /**< MipMap levels, a series of halved images */
index e9c213dec35fe62994e443db9b3f52fca474684b..e5ad51169a8d06b60c0437c84fbcceeda81cccbc 100644 (file)
@@ -41,7 +41,7 @@ struct Material;
 
 typedef struct IconFile {
        struct IconFile *next, *prev;
-       char filename[80];      // FILE_MAXFILE size
+       char filename[256];     // FILE_MAXFILE size
        int index;
 } IconFile;
 
index adf6f4a143bbae5c445d12e387b14f1fb7a5d743..cb5d6721566111d07633bedd40f83c34af4ad40f 100644 (file)
@@ -50,7 +50,7 @@
 struct ImMetaData;
 
 #define IB_MIPMAP_LEVELS       20
-#define IB_FILENAME_SIZE       1023
+#define IB_FILENAME_SIZE       1024
 
 /**
  * \ingroup imbuf
index b627baf99bd8d3a02eaf68c4f797ecb2fc736b96..a9f020c94e8a7f39985ced3d2ff801005473bee6 100644 (file)
@@ -136,9 +136,9 @@ struct anim {
        int x, y;
        
                /* voor op nummer */
-       char name[256];
+       char name[1024];
                /* voor sequence */
-       char first[256];
+       char first[1024];
 
                /* movie */
        void *movie;
@@ -189,7 +189,7 @@ struct anim {
        struct redcode_handle * redcodeCtx;
 #endif
 
-       char index_dir[256];
+       char index_dir[768];
 
        int proxies_tried;
        int indices_tried;
index 62608cbbd79e4b1f573f4ae95329447f74d7c0e2..f9d90208078920a65f8d7092cd8f98b2e9b0df44 100644 (file)
@@ -62,7 +62,7 @@ typedef struct anim_index_entry {
 } anim_index_entry;
 
 struct anim_index {
-       char name[256];
+       char name[1024];
 
        int num_entries;
        struct anim_index_entry * entries;
index bfd3bb4b0bf6ac2aa874ec53f8274de3d009fc26..cb7b8d15d52b6bbd7b2d0b0e033fd861f6e0b90b 100644 (file)
@@ -128,8 +128,8 @@ typedef struct Library {
        ID id;
        ID *idblock;
        struct FileData *filedata;
-       char name[240];                 /* path name used for reading, can be relative and edited in the outliner */
-       char filepath[240];             /* absolute filepath, this is only for convenience,
+       char name[1024];                /* path name used for reading, can be relative and edited in the outliner */
+       char filepath[1024];    /* absolute filepath, this is only for convenience,
                                                         * 'name' is the real path used on file read but in
                                                         * some cases its useful to access the absolute one,
                                                         * This is set on file read.
index f21c589d825ae7a2907e5ab4b52328f3a555f48f..690c3c959646b84f9cd660de24acdc8710408058 100644 (file)
@@ -59,7 +59,7 @@ typedef struct Brush {
 
        struct ImBuf *icon_imbuf;
        PreviewImage *preview;
-       char icon_filepath[240]; /* 240 = FILE_MAX */
+       char icon_filepath[1024]; /* 1024 = FILE_MAX */
 
        float normal_weight;
 
index 00a0cf8881fb55d5576d20c047462497386f1131..a4bb57151741782360869313a63fe5a75b139cc7 100644 (file)
@@ -55,7 +55,7 @@ typedef struct CustomDataLayer {
 #define MAX_CUSTOMDATA_LAYER_NAME 64
 
 typedef struct CustomDataExternal {
-       char filename[240]; /* FILE_MAX */
+       char filename[1024]; /* FILE_MAX */
 } CustomDataExternal;
 
 /** structure which stores custom element data associated with mesh elements
index 6dab70c6deeae24829d903062b1505d1c146a5af..aff4607da51ac6bfa6d360b904bd43ee59cf5421 100644 (file)
@@ -128,7 +128,7 @@ typedef struct DynamicPaintSurface {
        float wave_damping, wave_speed, wave_timescale, wave_spring;
 
        char uvlayer_name[64];  /* MAX_CUSTOMDATA_LAYER_NAME */
-       char image_output_path[240];  /* 240 = FILE_MAX */
+       char image_output_path[1024];  /* 1024 = FILE_MAX */
        char output_name[64];  /* MAX_CUSTOMDATA_LAYER_NAME */
        char output_name2[64]; /* MAX_CUSTOMDATA_LAYER_NAME */ /* some surfaces have 2 outputs */
 
index 31ad628d63086d2ec1aec19669dd6c4d6018abb6..ed9f3cec987f80b9211ba2f1c7e1a2ad5a23d010 100644 (file)
@@ -51,7 +51,7 @@ typedef struct FileGlobal {
        int revision;           /* svn revision from buildinfo */
        int pad;
        /* file path where this was saved, for recover */
-       char filename[240]; /* 240 = FILE_MAX */
+       char filename[1024]; /* 1024 = FILE_MAX */
 } FileGlobal;
 
 
index efe6c4d2586285234f7445918e431829340adb0d..8f6cc5bf354f0ea9a133f4faf9cbd21db4bfd8e6 100644 (file)
@@ -69,7 +69,7 @@ typedef struct ImageUser {
 typedef struct Image {
        ID id;
        
-       char name[240];                 /* file path, 240 = FILE_MAX */
+       char name[1024];                        /* file path, 1024 = FILE_MAX */
        
        ListBase ibufs;                                 /* not written in file */
        struct GPUTexture *gputexture;  /* not written in file */
index e310f148110f92979546c0f25489e639ec923b62..dca401f12e837e1be1f5e4978d354c10448faa9b 100644 (file)
@@ -773,7 +773,7 @@ typedef struct OceanModifierData {
        int             bakestart;
        int             bakeend;
        
-       char    cachepath[240]; // FILE_MAX
+       char    cachepath[1024];        // FILE_MAX
        char    foamlayername[64];      /* MAX_CUSTOMDATA_LAYER_NAME */
        char    cached;
        char    geometry_mode;
index c08a5e95e92978151ea28a3237e6507d8ddb579a..1a56c273922e1e44034f7d788acf333c8652cb71 100644 (file)
@@ -51,7 +51,7 @@ typedef struct MovieClipUser {
 } MovieClipUser;
 
 typedef struct MovieClipProxy {
-       char dir[160];                  /* custom directory for index and proxy files (defaults to BL_proxy) */
+       char dir[768];                  /* custom directory for index and proxy files (defaults to BL_proxy) */
 
        short tc;                               /* time code in use */
        short quality;                  /* proxy build quality */
@@ -64,7 +64,7 @@ typedef struct MovieClipProxy {
 typedef struct MovieClip {
        ID id;
 
-       char name[240];         /* file path, 240 = FILE_MAX */
+       char name[1024];                /* file path, 1024 = FILE_MAX */
 
        int source;                     /* sequence or movie */
        int lastframe;          /* last accessed frame number */
index 4a3e5b2ca0ca0fe16320dd18775df1459c534000..33ac75912faeb91fc9ae52131e614403b9d47c23 100644 (file)
@@ -349,7 +349,7 @@ typedef struct NodeHueSat {
 } NodeHueSat;
 
 typedef struct NodeImageFile {
-       char name[256];
+       char name[1024]; /* 1024 = FILE_MAX */
        struct ImageFormatData im_format;
        int sfra, efra;
 } NodeImageFile;
index 022dc53848f267c76f6ed09729b6910446e3c092..3f87f8a3e9ca72798dc92c2922baf69020c42c6f 100644 (file)
@@ -89,8 +89,8 @@ typedef struct FluidsimSettings {
        struct Mesh *meshBB;
 
        /* store output path, and file prefix for baked fluid surface */
-       /* strlens; 80= FILE_MAXFILE, 160= FILE_MAXDIR */
-       char surfdataPath[240];
+       /* strlens; 256= FILE_MAXFILE, 768= FILE_MAXDIR */
+       char surfdataPath[1024];
 
        /* store start coords of axis aligned bounding box together with size */
        /* values are inited during derived mesh display */
index 41f79546b156cb0f8ed210f96f62dc292ecbbb78..1707c0d39296948e31ef03b65ae8192522a65265 100644 (file)
@@ -195,7 +195,7 @@ typedef struct PointCache {
        char name[64];
        char prev_name[64];
        char info[64];
-       char path[240]; /* file path, 240 = FILE_MAX */
+       char path[1024]; /* file path, 1024 = FILE_MAX */
        char *cached_frames;    /* array of length endframe-startframe+1 with flags to indicate cached frames */
                                                        /* can be later used for other per frame flags too if needed */
        struct ListBase mem_cache;
index 38fc513521b40601303e1eec231aec84598c992d..6b13951348af761f42845718dfd4a372583e9ffb 100644 (file)
@@ -471,14 +471,14 @@ typedef struct RenderData {
        float bake_maxdist, bake_biasdist, bake_pad;
 
        /* path to render output */
-       char pic[240]; /* 240 = FILE_MAX */
+       char pic[1024]; /* 1024 = FILE_MAX */
 
        /* stamps flags. */
        int stamp;
        short stamp_font_id, pad3; /* select one of blenders bitmap fonts */
 
        /* stamp info user data. */
-       char stamp_udata[160];
+       char stamp_udata[768];
 
        /* foreground/background color. */
        float fg_stamp[4];
index 748769bd5d847268645b2f36f712be833ef7e69d..20399e541d799a28367deb8b09ad2c9a2e37b12b 100644 (file)
@@ -41,10 +41,10 @@ struct Ipo;
 struct Scene;
 struct bSound;
 
-/* strlens; 80= FILE_MAXFILE, 160= FILE_MAXDIR */
+/* strlens; 256= FILE_MAXFILE, 768= FILE_MAXDIR */
 
 typedef struct StripElem {
-       char name[80];
+       char name[256];
        int orig_width, orig_height;
 } StripElem;
 
@@ -71,10 +71,10 @@ typedef struct StripColorBalance {
 } StripColorBalance;
 
 typedef struct StripProxy {
-       char dir[160];         // custom directory for index and proxy files
+       char dir[768];         // custom directory for index and proxy files
                               // (defaults to BL_proxy)
 
-       char file[80];         // custom file
+       char file[256];        // custom file
        struct anim *anim;     // custom proxy anim file
 
        short tc;              // time code in use
@@ -91,7 +91,7 @@ typedef struct Strip {
        int rt, len, us, done;
        int startstill, endstill;
        StripElem *stripdata;
-       char dir[160];
+       char dir[768];
        StripProxy *proxy;
        StripCrop *crop;
        StripTransform *transform;
@@ -100,7 +100,7 @@ typedef struct Strip {
 
 
 typedef struct PluginSeq {
-       char name[256];
+       char name[1024]; /* 1024 = FILE_MAX */
        void *handle;
 
        char *pname;
@@ -191,8 +191,8 @@ typedef struct Editing {
        
        /* Context vars, used to be static */
        Sequence *act_seq;
-       char act_imagedir[256];
-       char act_sounddir[256];
+       char act_imagedir[1024]; /* 1024 = FILE_MAX */
+       char act_sounddir[1024]; /* 1024 = FILE_MAX */
 
        int over_ofs, over_cfra;
        int over_flag, pad;
index 82185c811a173bb568dd41cfe8380d168ce86ef1..1dab9effa9e0e847d8189e4e8ac28018831f4e86 100644 (file)
@@ -49,7 +49,7 @@ typedef struct bSound {
        /**
         * The path to the sound file.
         */
-       char name[240];  /* 240 = FILE_MAX */
+       char name[1024];  /* 1024 = FILE_MAX */
 
        /**
         * The packed file.
index aa7a84c577b9723a09e2ddb82f7e0915054edcec..8f986a5f7cc7b15f0555ae1c30c96b0fd6f991de 100644 (file)
@@ -174,10 +174,11 @@ typedef struct SpaceSeq {
 
 typedef struct FileSelectParams {
        char title[32]; /* title, also used for the text of the execute button */
-       char dir[240]; /* directory */
-       char file[80]; /* file */
-       char renamefile[80];
-       char renameedit[80]; /* annoying but the first is only used for initialization */
+       char dir[1056]; /* directory, FILE_MAX_LIBEXTRA, 1024 + 32, this is for extreme case when 1023 length path
+                        * needs to be linked in, where foo.blend/Armature need adding  */
+       char file[256]; /* file */
+       char renamefile[256];
+       char renameedit[256]; /* annoying but the first is only used for initialization */
 
        char filter_glob[64]; /* list of filetypes to filter */
 
@@ -343,8 +344,9 @@ typedef struct Script {
        void *py_globaldict;
 
        int flags, lastspace;
-       char scriptname[256]; /* store the script file here so we can re-run it on loading blender, if "Enable Scripts" is on */
-       char scriptarg[256];
+       /* store the script file here so we can re-run it on loading blender, if "Enable Scripts" is on */
+       char scriptname[1024]; /* 1024 = FILE_MAX */
+       char scriptarg[256]; /* 1024 = FILE_MAX */
 } Script;
 #define SCRIPT_SET_NULL(_script) _script->py_draw = _script->py_event = _script->py_button = _script->py_browsercallback = _script->py_globaldict = NULL; _script->flags = 0;
 
@@ -622,9 +624,11 @@ enum FileSortTypeE {
 
 /* these values need to be hardcoded in structs, dna does not recognize defines */
 /* also defined in BKE */
-#define FILE_MAXDIR                    160
-#define FILE_MAXFILE           80
-#define FILE_MAX                       240
+#define FILE_MAXDIR                    768
+#define FILE_MAXFILE           256
+#define FILE_MAX                       1024
+
+#define FILE_MAX_LIBEXTRA   (FILE_MAX + 32)
 
 /* filesel types */
 #define FILE_UNIX                      8
index 1cc84669e3b5275e4f874ccb52b41a9a8ca59e43..de844fd2d7f5dc685ef90039093faa70a2a81f1b 100644 (file)
@@ -105,7 +105,7 @@ typedef unsigned short dna_ushort_fix;
 #endif
 
 typedef struct PluginTex {
-       char name[160];
+       char name[1024];
        void *handle;
        
        char *pname;
@@ -200,7 +200,7 @@ typedef struct VoxelData {
        struct Object *object; /* for rendering smoke sims */
        float int_multiplier;   
        int still_frame;
-       char source_path[240];  /* 240 = FILE_MAX */
+       char source_path[1024];  /* 1024 = FILE_MAX */
 
        /* temporary data */
        float *dataset;
index 44bf11795c15fac4741ac97325b59d2cab13bd02..83b8bdcf28283f5dce25a5e4529c149ab050289d 100644 (file)
@@ -60,7 +60,7 @@ struct ColorBand;
 /* first font is the default (index 0), others optional */
 typedef struct uiFont {
        struct uiFont *next, *prev;
-       char filename[256];
+       char filename[1024];/* 1024 = FILE_MAX */
        short blf_id;           /* from blfont lib */
        short uifont_id;        /* own id */
        short r_to_l;           /* fonts that read from left to right */
@@ -158,7 +158,7 @@ typedef struct ThemeUI {
 
        uiPanelColors panel;
 
-       char iconfile[80];      // FILE_MAXFILE length
+       char iconfile[256];     // FILE_MAXFILE length
        float icon_alpha;
 
        float pad;
@@ -323,16 +323,16 @@ typedef struct SolidLight {
 typedef struct UserDef {
        int flag, dupflag;
        int savetime;
-       char tempdir[160];      /* FILE_MAXDIR length */
-       char fontdir[160];
-       char renderdir[240]; /* FILE_MAX length */
-       char textudir[160];
-       char plugtexdir[160];
-       char plugseqdir[160];
-       char pythondir[160];
-       char sounddir[160];
-       char image_editor[240]; /* 240 = FILE_MAX */
-       char anim_player[240];  /* 240 = FILE_MAX */
+       char tempdir[768];      /* FILE_MAXDIR length */
+       char fontdir[768];
+       char renderdir[1024]; /* FILE_MAX length */
+       char textudir[768];
+       char plugtexdir[768];
+       char plugseqdir[768];
+       char pythondir[768];
+       char sounddir[768];
+       char image_editor[1024];        /* 1024 = FILE_MAX */
+       char anim_player[1024]; /* 1024 = FILE_MAX */
        int anim_player_preset;
        
        short v2d_min_gridsize;         /* minimum spacing between gridlines in View2D grids */
@@ -401,8 +401,6 @@ typedef struct UserDef {
        float ndof_sensitivity; /* overall sensitivity of 3D mouse */
        int ndof_flag;                  /* flags for 3D mouse */
 
-       char versemaster[160];
-       char verseuser[160];
        float glalphaclip;
        
        short autokey_mode;             /* autokeying mode */
index 7132751848d85636f4cb20a46170c65163107966..d6168af60285075859bc80ac556004dc52a610cf 100644 (file)
@@ -42,7 +42,7 @@ struct VFontData;
 typedef struct VFont {
        ID id;
        
-       char name[256];
+       char name[1024]; /* 1024 = FILE_MAX */
        
        struct VFontData *data;
        struct PackedFile * packedfile;
index 758cf7bd61c7750eb5dc57e8607f6b985aede4c7..357eaf2633b9b3c7ca43ee17126ad78a43815caf 100644 (file)
@@ -526,14 +526,14 @@ typedef struct wmDrag {
        
        int icon, type;                                 /* type, see WM_DRAG defines above */
        void *poin;
-       char path[240]; /* FILE_MAX */
+       char path[1024]; /* FILE_MAX */
        double value;
        
        struct ImBuf *imb;                                              /* if no icon but imbuf should be drawn around cursor */
        float scale;
        int sx, sy;
        
-       char opname[240]; /* FILE_MAX */                        /* if set, draws operator name*/
+       char opname[200]; /* if set, draws operator name*/
 } wmDrag;
 
 /* dropboxes are like keymaps, part of the screen/area/region definition */
index be14400f33a72c6bab9ccce1adf76267ad7af436..e577a5e5f99dfd62a6c591840251e2de7d6a5814 100644 (file)
@@ -83,7 +83,7 @@
 #include "BLI_blenlib.h"
 #include "BLI_math_base.h"
 
-#define FILE_MAX 240 // repeated here to avoid dependency from BKE_utildefines.h
+#define FILE_MAX 1024 // repeated here to avoid dependency from BKE_utildefines.h
 
 #include "KX_NetworkMessageActuator.h"