Revision: 16472
          
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=16472
Author:   blendix
Date:     2008-09-11 15:00:54 +0200 (Thu, 11 Sep 2008)

Log Message:
-----------
Bugfix: saved game engine runtimes failed to load library .blend
files with relative paths.

Modified Paths:
--------------
    trunk/blender/source/blender/blenloader/BLO_readfile.h
    trunk/blender/source/blender/blenloader/intern/readfile.c
    trunk/blender/source/blender/readblenfile/intern/BLO_readblenfile.c
    trunk/blender/source/gameengine/GamePlayer/ghost/GPG_ghost.cpp

Modified: trunk/blender/source/blender/blenloader/BLO_readfile.h
===================================================================
--- trunk/blender/source/blender/blenloader/BLO_readfile.h      2008-09-11 
11:30:32 UTC (rev 16471)
+++ trunk/blender/source/blender/blenloader/BLO_readfile.h      2008-09-11 
13:00:54 UTC (rev 16472)
@@ -237,7 +237,7 @@
 void BLO_library_append_(BlendHandle **libfiledata, struct direntry* filelist, 
int totfile, char *dir, char* file, short flag, int idcode);
 void BLO_script_library_append(BlendHandle **bh, char *dir, char *name, int 
idcode, short flag, struct Scene *scene);
 
-BlendFileData* blo_read_blendafterruntime(int file, int actualsize, 
BlendReadError *error_r);
+BlendFileData* blo_read_blendafterruntime(int file, char *name, int 
actualsize, BlendReadError *error_r);
 
 #ifdef __cplusplus
 } 

Modified: trunk/blender/source/blender/blenloader/intern/readfile.c
===================================================================
--- trunk/blender/source/blender/blenloader/intern/readfile.c   2008-09-11 
11:30:32 UTC (rev 16471)
+++ trunk/blender/source/blender/blenloader/intern/readfile.c   2008-09-11 
13:00:54 UTC (rev 16472)
@@ -970,9 +970,11 @@
        } else {
                FileData *fd = filedata_new();
                fd->gzfiledes = gzfile;
-               BLI_strncpy(fd->filename, name, sizeof(fd->filename));  // now 
only in use by library append
                fd->read = fd_read_gzip_from_file;
 
+               /* needed for library_append and read_libraries */
+               BLI_strncpy(fd->filename, name, sizeof(fd->filename));
+
                return blo_decode_and_check(fd, error_r);
        }
 }
@@ -9125,7 +9127,7 @@
 
 /* reading runtime */
 
-BlendFileData *blo_read_blendafterruntime(int file, int actualsize, 
BlendReadError *error_r) 
+BlendFileData *blo_read_blendafterruntime(int file, char *name, int 
actualsize, BlendReadError *error_r) 
 {
        BlendFileData *bfd = NULL;
        FileData *fd = filedata_new();
@@ -9133,6 +9135,9 @@
        fd->buffersize = actualsize;
        fd->read = fd_read_from_file;
 
+       /* needed for library_append and read_libraries */
+       BLI_strncpy(fd->filename, name, sizeof(fd->filename));
+
        fd = blo_decode_and_check(fd, error_r);
        if (!fd)
                return NULL;

Modified: trunk/blender/source/blender/readblenfile/intern/BLO_readblenfile.c
===================================================================
--- trunk/blender/source/blender/readblenfile/intern/BLO_readblenfile.c 
2008-09-11 11:30:32 UTC (rev 16471)
+++ trunk/blender/source/blender/readblenfile/intern/BLO_readblenfile.c 
2008-09-11 13:00:54 UTC (rev 16472)
@@ -159,7 +159,7 @@
        } else {        
                //printf("starting to read runtime from %s at datastart %d\n", 
path, datastart);
                lseek(fd, datastart, SEEK_SET);
-               bfd = blo_read_blendafterruntime(fd, actualsize-datastart, 
error_r);
+               bfd = blo_read_blendafterruntime(fd, path, 
actualsize-datastart, error_r);
                fd= -1; // file was closed in blo_read_blendafterruntime()
        }
        

Modified: trunk/blender/source/gameengine/GamePlayer/ghost/GPG_ghost.cpp
===================================================================
--- trunk/blender/source/gameengine/GamePlayer/ghost/GPG_ghost.cpp      
2008-09-11 11:30:32 UTC (rev 16471)
+++ trunk/blender/source/gameengine/GamePlayer/ghost/GPG_ghost.cpp      
2008-09-11 13:00:54 UTC (rev 16472)
@@ -613,7 +613,7 @@
                                        }
                                        else
                                        {
-                                               bfd = load_game_data(argv[0], 
filename);
+                                               bfd = load_game_data(bprogname, 
filename);
                                        }
                                        
                                        //::printf("game data loaded from 
%s\n", filename);


_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to