- Packing .blend files
If you work a lot with dynamic linked .blend files ("Libraries"), it's always hard to
share your work with others (or for bug reports!).
This new option packs all used external .blend files, and - on save - combines it together
in one .blend file. You can save that file on any location.
Loading a packed .blend file then loads all library data usual - not editable.
Just use unpack to save out all linked .blend files. This will only save out the files
according the directory structure as was used on linking - relative to the current .blend.
It will create new directories, so be careful with unpacking when relative paths go up.
This feature also works fine for linked compressed .blend files.
It also works for many levels deep linked .blend hierarchies.
Access is hidden for now - I need to get some people to give it serious testing first.
You can find the options via spacebar search (try pack or unpack).
- Packed data and Undo
Now all packed data is excluded from the Undo buffer storage. Keeps undo memory smaller
and makes faster redo possible.
		
	
		
			
				
	
	
		
			77 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			77 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
/*
 | 
						|
 * ***** BEGIN GPL LICENSE BLOCK *****
 | 
						|
 *
 | 
						|
 * This program is free software; you can redistribute it and/or
 | 
						|
 * modify it under the terms of the GNU General Public License
 | 
						|
 * as published by the Free Software Foundation; either version 2
 | 
						|
 * of the License, or (at your option) any later version.
 | 
						|
 *
 | 
						|
 * This program is distributed in the hope that it will be useful,
 | 
						|
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
						|
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
						|
 * GNU General Public License for more details.
 | 
						|
 *
 | 
						|
 * You should have received a copy of the GNU General Public License
 | 
						|
 * along with this program; if not, write to the Free Software Foundation,
 | 
						|
 * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 | 
						|
 *
 | 
						|
 * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
 | 
						|
 * All rights reserved.
 | 
						|
 *
 | 
						|
 * The Original Code is: all of this file.
 | 
						|
 *
 | 
						|
 * Contributor(s): none yet.
 | 
						|
 *
 | 
						|
 * ***** END GPL LICENSE BLOCK *****
 | 
						|
 */
 | 
						|
#ifndef __BKE_PACKEDFILE_H__
 | 
						|
#define __BKE_PACKEDFILE_H__
 | 
						|
 | 
						|
/** \file BKE_packedFile.h
 | 
						|
 *  \ingroup bke
 | 
						|
 *  \since March 2001
 | 
						|
 *  \author nzc
 | 
						|
 */
 | 
						|
#define RET_OK      0
 | 
						|
#define RET_ERROR   1
 | 
						|
 | 
						|
struct bSound;
 | 
						|
struct Image;
 | 
						|
struct Main;
 | 
						|
struct PackedFile;
 | 
						|
struct ReportList;
 | 
						|
struct VFont;
 | 
						|
 | 
						|
/* pack */
 | 
						|
struct PackedFile *dupPackedFile(const struct PackedFile *pf_src);
 | 
						|
struct PackedFile *newPackedFile(struct ReportList *reports, const char *filename, const char *relabase);
 | 
						|
struct PackedFile *newPackedFileMemory(void *mem, int memlen);
 | 
						|
 | 
						|
void packAll(struct Main *bmain, struct ReportList *reports);
 | 
						|
void packLibraries(struct Main *bmain, struct ReportList *reports);
 | 
						|
 | 
						|
/* unpack */
 | 
						|
char *unpackFile(struct ReportList *reports, const char *abs_name, const char *local_name, struct PackedFile *pf, int how);
 | 
						|
int unpackVFont(struct ReportList *reports, struct VFont *vfont, int how);
 | 
						|
int unpackSound(struct Main *bmain, struct ReportList *reports, struct bSound *sound, int how);
 | 
						|
int unpackImage(struct ReportList *reports, struct Image *ima, int how);
 | 
						|
void unpackAll(struct Main *bmain, struct ReportList *reports, int how);
 | 
						|
int unpackLibraries(struct Main *bmain, struct ReportList *reports);
 | 
						|
 | 
						|
int writePackedFile(struct ReportList *reports, const char *filename, struct PackedFile *pf, int guimode);
 | 
						|
 | 
						|
/* free */
 | 
						|
void freePackedFile(struct PackedFile *pf);
 | 
						|
 | 
						|
/* info */
 | 
						|
int countPackedFiles(struct Main *bmain);
 | 
						|
int checkPackedFile(const char *filename, struct PackedFile *pf);
 | 
						|
 | 
						|
/* read */
 | 
						|
int seekPackedFile(struct PackedFile *pf, int offset, int whence);
 | 
						|
void rewindPackedFile(struct PackedFile *pf);
 | 
						|
int readPackedFile(struct PackedFile *pf, void *data, int size);
 | 
						|
 | 
						|
#endif
 | 
						|
 |