Blender  V3.3
Macros | Enumerations | Functions
BKE_packedFile.h File Reference

Go to the source code of this file.

Macros

#define RET_OK   0
 
#define RET_ERROR   1
 

Enumerations

enum  ePF_FileCompare { PF_CMP_EQUAL = 0 , PF_CMP_DIFFERS = 1 , PF_CMP_NOFILE = 2 }
 
enum  ePF_FileStatus {
  PF_WRITE_ORIGINAL = 3 , PF_WRITE_LOCAL = 4 , PF_USE_LOCAL = 5 , PF_USE_ORIGINAL = 6 ,
  PF_KEEP = 7 , PF_REMOVE = 8 , PF_ASK = 10
}
 

Functions

struct PackedFileBKE_packedfile_duplicate (const struct PackedFile *pf_src)
 
struct PackedFileBKE_packedfile_new (struct ReportList *reports, const char *filepath, const char *basepath)
 
struct PackedFileBKE_packedfile_new_from_memory (void *mem, int memlen)
 
void BKE_packedfile_pack_all (struct Main *bmain, struct ReportList *reports, bool verbose)
 
void BKE_packedfile_pack_all_libraries (struct Main *bmain, struct ReportList *reports)
 
char * BKE_packedfile_unpack_to_file (struct ReportList *reports, const char *ref_file_name, const char *abs_name, const char *local_name, struct PackedFile *pf, enum ePF_FileStatus how)
 
char * BKE_packedfile_unpack (struct Main *bmain, struct ReportList *reports, struct ID *id, const char *orig_file_path, struct PackedFile *pf, enum ePF_FileStatus how)
 
int BKE_packedfile_unpack_vfont (struct Main *bmain, struct ReportList *reports, struct VFont *vfont, enum ePF_FileStatus how)
 
int BKE_packedfile_unpack_sound (struct Main *bmain, struct ReportList *reports, struct bSound *sound, enum ePF_FileStatus how)
 
int BKE_packedfile_unpack_image (struct Main *bmain, struct ReportList *reports, struct Image *ima, enum ePF_FileStatus how)
 
int BKE_packedfile_unpack_volume (struct Main *bmain, struct ReportList *reports, struct Volume *volume, enum ePF_FileStatus how)
 
void BKE_packedfile_unpack_all (struct Main *bmain, struct ReportList *reports, enum ePF_FileStatus how)
 
int BKE_packedfile_unpack_all_libraries (struct Main *bmain, struct ReportList *reports)
 
int BKE_packedfile_write_to_file (struct ReportList *reports, const char *ref_file_name, const char *filepath, struct PackedFile *pf, bool guimode)
 
void BKE_packedfile_free (struct PackedFile *pf)
 
int BKE_packedfile_count_all (struct Main *bmain)
 
enum ePF_FileCompare BKE_packedfile_compare_to_file (const char *ref_file_name, const char *filepath_rel, struct PackedFile *pf)
 
int BKE_packedfile_seek (struct PackedFile *pf, int offset, int whence)
 
void BKE_packedfile_rewind (struct PackedFile *pf)
 
int BKE_packedfile_read (struct PackedFile *pf, void *data, int size)
 
bool BKE_packedfile_id_check (const struct ID *id)
 
void BKE_packedfile_id_unpack (struct Main *bmain, struct ID *id, struct ReportList *reports, enum ePF_FileStatus how)
 
void BKE_packedfile_blend_write (struct BlendWriter *writer, struct PackedFile *pf)
 
void BKE_packedfile_blend_read (struct BlendDataReader *reader, struct PackedFile **pf_p)
 

Macro Definition Documentation

◆ RET_ERROR

#define RET_ERROR   1

Definition at line 14 of file BKE_packedFile.h.

◆ RET_OK

#define RET_OK   0

Definition at line 13 of file BKE_packedFile.h.

Enumeration Type Documentation

◆ ePF_FileCompare

Enumerator
PF_CMP_EQUAL 
PF_CMP_DIFFERS 
PF_CMP_NOFILE 

Definition at line 27 of file BKE_packedFile.h.

◆ ePF_FileStatus

Enumerator
PF_WRITE_ORIGINAL 
PF_WRITE_LOCAL 
PF_USE_LOCAL 
PF_USE_ORIGINAL 
PF_KEEP 
PF_REMOVE 
PF_ASK 

Definition at line 33 of file BKE_packedFile.h.

Function Documentation

◆ BKE_packedfile_blend_read()

void BKE_packedfile_blend_read ( struct BlendDataReader reader,
struct PackedFile **  pf_p 
)

◆ BKE_packedfile_blend_write()

void BKE_packedfile_blend_write ( struct BlendWriter writer,
struct PackedFile pf 
)

◆ BKE_packedfile_compare_to_file()

enum ePF_FileCompare BKE_packedfile_compare_to_file ( const char *  ref_file_name,
const char *  filepath_rel,
struct PackedFile pf 
)

This function compares a packed file to a 'real' file. It returns an integer indicating if:

  • #PF_EQUAL: the packed file and original file are identical.
  • #PF_DIFFERENT: the packed file and original file differ.
  • #PF_NOFILE: the original file doesn't exist.

Definition at line 286 of file packedFile.c.

References BKE_reportf(), BLI_copy(), BLI_delete(), BLI_exists(), BLI_make_existing_file(), BLI_open(), BLI_path_abs(), BLI_rename(), BLI_snprintf(), BLI_strncpy(), file, FILE_MAX, O_BINARY, pf, RET_ERROR, RET_OK, RPT_ERROR, and RPT_INFO.

Referenced by unpack_menu().

◆ BKE_packedfile_count_all()

int BKE_packedfile_count_all ( struct Main bmain)

◆ BKE_packedfile_duplicate()

struct PackedFile* BKE_packedfile_duplicate ( const struct PackedFile pf_src)

◆ BKE_packedfile_free()

void BKE_packedfile_free ( struct PackedFile pf)

◆ BKE_packedfile_id_check()

bool BKE_packedfile_id_check ( const struct ID id)

ID should be not NULL, return true if there's a packed file.

Referenced by template_ID().

◆ BKE_packedfile_id_unpack()

void BKE_packedfile_id_unpack ( struct Main bmain,
struct ID id,
struct ReportList reports,
enum ePF_FileStatus  how 
)

◆ BKE_packedfile_new()

struct PackedFile* BKE_packedfile_new ( struct ReportList reports,
const char *  filepath,
const char *  basepath 
)

◆ BKE_packedfile_new_from_memory()

struct PackedFile* BKE_packedfile_new_from_memory ( void mem,
int  memlen 
)

Definition at line 166 of file packedFile.c.

References BLI_assert, MEM_callocN, NULL, and pf.

Referenced by BKE_image_packfiles_from_mem(), BKE_packedfile_new(), and get_builtin_packedfile().

◆ BKE_packedfile_pack_all()

void BKE_packedfile_pack_all ( struct Main bmain,
struct ReportList reports,
bool  verbose 
)

◆ BKE_packedfile_pack_all_libraries()

void BKE_packedfile_pack_all_libraries ( struct Main bmain,
struct ReportList reports 
)

◆ BKE_packedfile_read()

int BKE_packedfile_read ( struct PackedFile pf,
void data,
int  size 
)

Definition at line 81 of file packedFile.c.

References data, NULL, pf, and size().

◆ BKE_packedfile_rewind()

void BKE_packedfile_rewind ( struct PackedFile pf)

Definition at line 76 of file packedFile.c.

References BKE_packedfile_seek(), and pf.

◆ BKE_packedfile_seek()

int BKE_packedfile_seek ( struct PackedFile pf,
int  offset,
int  whence 
)

Definition at line 44 of file packedFile.c.

References offset, and pf.

Referenced by BKE_packedfile_rewind().

◆ BKE_packedfile_unpack()

char* BKE_packedfile_unpack ( struct Main bmain,
struct ReportList reports,
struct ID id,
const char *  orig_file_path,
struct PackedFile pf,
enum ePF_FileStatus  how 
)

◆ BKE_packedfile_unpack_all()

void BKE_packedfile_unpack_all ( struct Main bmain,
struct ReportList reports,
enum ePF_FileStatus  how 
)

◆ BKE_packedfile_unpack_all_libraries()

int BKE_packedfile_unpack_all_libraries ( struct Main bmain,
struct ReportList reports 
)

◆ BKE_packedfile_unpack_image()

int BKE_packedfile_unpack_image ( struct Main bmain,
struct ReportList reports,
struct Image ima,
enum ePF_FileStatus  how 
)

◆ BKE_packedfile_unpack_sound()

int BKE_packedfile_unpack_sound ( struct Main bmain,
struct ReportList reports,
struct bSound sound,
enum ePF_FileStatus  how 
)

◆ BKE_packedfile_unpack_to_file()

char* BKE_packedfile_unpack_to_file ( struct ReportList reports,
const char *  ref_file_name,
const char *  abs_name,
const char *  local_name,
struct PackedFile pf,
enum ePF_FileStatus  how 
)

BKE_packedfile_unpack_to_file() looks at the existing files (abs_name, local_name) and a packed file.

It returns a char *to the existing file name / new file name or NULL when there was an error or when the user decides to cancel the operation.

Warning
'abs_name' may be relative still! (use a "//" prefix) be sure to run BLI_path_abs on it first.

Definition at line 413 of file packedFile.c.

References ATTR_FALLTHROUGH, BKE_packedfile_write_to_file(), BKE_reportf(), BLI_exists(), BLI_path_abs(), BLI_strdup(), BLI_strncpy(), FILE_MAX, NULL, pf, PF_KEEP, PF_REMOVE, PF_USE_LOCAL, PF_USE_ORIGINAL, PF_WRITE_LOCAL, PF_WRITE_ORIGINAL, RET_OK, and RPT_INFO.

Referenced by BKE_packedfile_unpack(), and BKE_packedfile_unpack_all_libraries().

◆ BKE_packedfile_unpack_vfont()

int BKE_packedfile_unpack_vfont ( struct Main bmain,
struct ReportList reports,
struct VFont vfont,
enum ePF_FileStatus  how 
)

◆ BKE_packedfile_unpack_volume()

int BKE_packedfile_unpack_volume ( struct Main bmain,
struct ReportList reports,
struct Volume volume,
enum ePF_FileStatus  how 
)

◆ BKE_packedfile_write_to_file()

int BKE_packedfile_write_to_file ( struct ReportList reports,
const char *  ref_file_name,
const char *  filepath,
struct PackedFile pf,
bool  guimode 
)

Definition at line 286 of file packedFile.c.

Referenced by BKE_packedfile_unpack_to_file().