2.5: Game Engine
[blender.git] / source / blender / blenloader / intern / readfile.h
index 8547a4d96523b6c6d82a230642ab15339bba514e..e39fefa82057e478e5b90775980b4eb2d7abce44 100644 (file)
@@ -35,6 +35,7 @@
 struct OldNewMap;
 struct MemFile;
 struct bheadsort;
+struct ReportList;
 
 typedef struct FileData {
        // linked list of BHeadN's
@@ -43,7 +44,7 @@ typedef struct FileData {
        int eof;
        int buffersize;
        int seek;
-       int (*read)(struct FileData *filedata, void *buffer, int size);
+       int (*read)(struct FileData *filedata, void *buffer, unsigned int size);
 
        // variables needed for reading from memory / stream
        char *buffer;
@@ -68,6 +69,7 @@ typedef struct FileData {
        
        int fileversion;
        int id_name_offs;               /* used to retrieve ID names from (bhead+1) */
+       int globalf, fileflags; /* for do_versions patching */
        
        struct OldNewMap *datamap;
        struct OldNewMap *globmap;
@@ -83,7 +85,7 @@ typedef struct FileData {
                 * data through streamglue.
                 */
        BlendFileData **bfd_r;
-       BlendReadError *error_r;
+       struct ReportList *reports;
 } FileData;
 
 typedef struct BHeadN {
@@ -106,15 +108,15 @@ struct Main;
 void blo_join_main(ListBase *mainlist);
 void blo_split_main(ListBase *mainlist, struct Main *main);
 
-BlendFileData *blo_read_file_internal( FileData *fd,  BlendReadError *error_r);
+BlendFileData *blo_read_file_internal(FileData *fd);
 
-FileData *blo_openblenderfile( char *name, BlendReadError *error_r);
-FileData *blo_openblendermemory( void *buffer, int buffersize, BlendReadError *error_r);
-FileData *blo_openblendermemfile(struct MemFile *memfile, BlendReadError *error_r);
+FileData *blo_openblenderfile(char *name, struct ReportList *reports);
+FileData *blo_openblendermemory(void *buffer, int buffersize, struct ReportList *reports);
+FileData *blo_openblendermemfile(struct MemFile *memfile, struct ReportList *reports);
 
-void blo_clear_proxy_pointers_from_lib(FileData *fd);
-void blo_make_image_pointer_map(FileData *fd);
-void blo_end_image_pointer_map(FileData *fd);
+void blo_clear_proxy_pointers_from_lib(FileData *fd, Main *oldmain);
+void blo_make_image_pointer_map(FileData *fd, Main *oldmain);
+void blo_end_image_pointer_map(FileData *fd, Main *oldmain);
 void blo_add_library_pointer_map(ListBase *mainlist, FileData *fd);
 
 void blo_freefiledata( FileData *fd);