Blender  V3.3
BKE_packedFile.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: GPL-2.0-or-later
2  * Copyright 2001-2002 NaN Holding BV. All rights reserved. */
3 #pragma once
4 
9 #ifdef __cplusplus
10 extern "C" {
11 #endif
12 
13 #define RET_OK 0
14 #define RET_ERROR 1
15 
16 struct BlendDataReader;
17 struct BlendWriter;
18 struct ID;
19 struct Image;
20 struct Main;
21 struct PackedFile;
22 struct ReportList;
23 struct VFont;
24 struct Volume;
25 struct bSound;
26 
31 };
32 
38  PF_KEEP = 7,
39  PF_REMOVE = 8,
40 
41  PF_ASK = 10,
42 };
43 
44 /* Pack. */
45 
46 struct PackedFile *BKE_packedfile_duplicate(const struct PackedFile *pf_src);
47 struct PackedFile *BKE_packedfile_new(struct ReportList *reports,
48  const char *filepath,
49  const char *basepath);
50 struct PackedFile *BKE_packedfile_new_from_memory(void *mem, int memlen);
51 
55 void BKE_packedfile_pack_all(struct Main *bmain, struct ReportList *reports, bool verbose);
56 void BKE_packedfile_pack_all_libraries(struct Main *bmain, struct ReportList *reports);
57 
58 /* Unpack. */
59 
70 char *BKE_packedfile_unpack_to_file(struct ReportList *reports,
71  const char *ref_file_name,
72  const char *abs_name,
73  const char *local_name,
74  struct PackedFile *pf,
75  enum ePF_FileStatus how);
76 char *BKE_packedfile_unpack(struct Main *bmain,
77  struct ReportList *reports,
78  struct ID *id,
79  const char *orig_file_path,
80  struct PackedFile *pf,
81  enum ePF_FileStatus how);
82 int BKE_packedfile_unpack_vfont(struct Main *bmain,
83  struct ReportList *reports,
84  struct VFont *vfont,
85  enum ePF_FileStatus how);
86 int BKE_packedfile_unpack_sound(struct Main *bmain,
87  struct ReportList *reports,
88  struct bSound *sound,
89  enum ePF_FileStatus how);
90 int BKE_packedfile_unpack_image(struct Main *bmain,
91  struct ReportList *reports,
92  struct Image *ima,
93  enum ePF_FileStatus how);
94 int BKE_packedfile_unpack_volume(struct Main *bmain,
95  struct ReportList *reports,
96  struct Volume *volume,
97  enum ePF_FileStatus how);
98 void BKE_packedfile_unpack_all(struct Main *bmain,
99  struct ReportList *reports,
100  enum ePF_FileStatus how);
101 int BKE_packedfile_unpack_all_libraries(struct Main *bmain, struct ReportList *reports);
102 
103 int BKE_packedfile_write_to_file(struct ReportList *reports,
104  const char *ref_file_name,
105  const char *filepath,
106  struct PackedFile *pf,
107  bool guimode);
108 
109 /* Free. */
110 
111 void BKE_packedfile_free(struct PackedFile *pf);
112 
113 /* Info. */
114 
115 int BKE_packedfile_count_all(struct Main *bmain);
124 enum ePF_FileCompare BKE_packedfile_compare_to_file(const char *ref_file_name,
125  const char *filepath_rel,
126  struct PackedFile *pf);
127 
128 /* Read. */
129 
130 int BKE_packedfile_seek(struct PackedFile *pf, int offset, int whence);
131 void BKE_packedfile_rewind(struct PackedFile *pf);
132 int BKE_packedfile_read(struct PackedFile *pf, void *data, int size);
133 
137 bool BKE_packedfile_id_check(const struct ID *id);
141 void BKE_packedfile_id_unpack(struct Main *bmain,
142  struct ID *id,
143  struct ReportList *reports,
144  enum ePF_FileStatus how);
145 
146 void BKE_packedfile_blend_write(struct BlendWriter *writer, struct PackedFile *pf);
147 void BKE_packedfile_blend_read(struct BlendDataReader *reader, struct PackedFile **pf_p);
148 
149 #ifdef __cplusplus
150 }
151 #endif
int BKE_packedfile_write_to_file(struct ReportList *reports, const char *ref_file_name, const char *filepath, struct PackedFile *pf, bool guimode)
Definition: packedFile.c:286
struct PackedFile * BKE_packedfile_new(struct ReportList *reports, const char *filepath, const char *basepath)
Definition: packedFile.c:177
ePF_FileCompare
@ PF_CMP_EQUAL
@ PF_CMP_NOFILE
@ PF_CMP_DIFFERS
bool BKE_packedfile_id_check(const struct ID *id)
int BKE_packedfile_unpack_vfont(struct Main *bmain, struct ReportList *reports, struct VFont *vfont, enum ePF_FileStatus how)
Definition: packedFile.c:572
void BKE_packedfile_id_unpack(struct Main *bmain, struct ID *id, struct ReportList *reports, enum ePF_FileStatus how)
Definition: packedFile.c:814
void BKE_packedfile_pack_all(struct Main *bmain, struct ReportList *reports, bool verbose)
Definition: packedFile.c:230
int BKE_packedfile_unpack_sound(struct Main *bmain, struct ReportList *reports, struct bSound *sound, enum ePF_FileStatus how)
Definition: packedFile.c:594
int BKE_packedfile_seek(struct PackedFile *pf, int offset, int whence)
Definition: packedFile.c:44
void BKE_packedfile_unpack_all(struct Main *bmain, struct ReportList *reports, enum ePF_FileStatus how)
Definition: packedFile.c:753
int BKE_packedfile_unpack_image(struct Main *bmain, struct ReportList *reports, struct Image *ima, enum ePF_FileStatus how)
Definition: packedFile.c:620
void BKE_packedfile_pack_all_libraries(struct Main *bmain, struct ReportList *reports)
Definition: packedFile.c:730
struct PackedFile * BKE_packedfile_new_from_memory(void *mem, int memlen)
Definition: packedFile.c:166
int BKE_packedfile_read(struct PackedFile *pf, void *data, int size)
Definition: packedFile.c:81
struct PackedFile * BKE_packedfile_duplicate(const struct PackedFile *pf_src)
int BKE_packedfile_unpack_all_libraries(struct Main *bmain, struct ReportList *reports)
Definition: packedFile.c:699
int BKE_packedfile_unpack_volume(struct Main *bmain, struct ReportList *reports, struct Volume *volume, enum ePF_FileStatus how)
Definition: packedFile.c:673
void BKE_packedfile_blend_write(struct BlendWriter *writer, struct PackedFile *pf)
Definition: packedFile.c:855
enum ePF_FileCompare BKE_packedfile_compare_to_file(const char *ref_file_name, const char *filepath_rel, struct PackedFile *pf)
Definition: packedFile.c:360
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)
Definition: packedFile.c:413
ePF_FileStatus
@ PF_USE_ORIGINAL
@ PF_USE_LOCAL
@ PF_ASK
@ PF_KEEP
@ PF_REMOVE
@ PF_WRITE_ORIGINAL
@ PF_WRITE_LOCAL
void BKE_packedfile_blend_read(struct BlendDataReader *reader, struct PackedFile **pf_p)
Definition: packedFile.c:864
int BKE_packedfile_count_all(struct Main *bmain)
Definition: packedFile.c:104
void BKE_packedfile_rewind(struct PackedFile *pf)
Definition: packedFile.c:76
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)
Definition: packedFile.c:552
void BKE_packedfile_free(struct PackedFile *pf)
Definition: packedFile.c:140
static DBVT_INLINE btScalar size(const btDbvtVolume &a)
Definition: btDbvt.cpp:52
static int verbose
Definition: cineonlib.c:29
#define pf(_x, _i)
Prefetch 64.
Definition: gim_memory.h:48
ccl_gpu_kernel_postfix ccl_global float int int int int float bool int offset
Definition: DNA_ID.h:368
Definition: BKE_main.h:121