30 #define WRITE_PTA(Manager, dest, Write_func, array) \
31 if (!Manager->register_pta(dest, array.p())) \
33 Write_func(Manager, dest, array); \
72 INLINE
const Filename &get_filename()
const;
77 INLINE
int get_file_major_ver()
const;
78 INLINE
int get_file_minor_ver()
const;
79 INLINE
void set_file_minor_ver(
int minor_ver);
82 INLINE
bool get_file_stdfloat_double()
const;
84 INLINE BamTextureMode get_file_texture_mode()
const;
85 INLINE
void set_file_texture_mode(BamTextureMode file_texture_mode);
91 MAKE_PROPERTY(target, get_target, set_target);
92 MAKE_PROPERTY(filename, get_filename);
93 MAKE_PROPERTY(file_endian, get_file_endian);
94 MAKE_PROPERTY(file_stdfloat_double, get_file_stdfloat_double);
95 MAKE_PROPERTY(file_texture_mode, get_file_texture_mode);
96 MAKE_PROPERTY(root_node, get_root_node, set_root_node);
111 bool register_pta(
Datagram &packet,
const void *ptr);
114 static std::string get_obsolete_type_name(
TypeHandle type,
int major,
int minor);
115 static void record_obsolete_type_name(
TypeHandle type, std::string name,
116 int before_major,
int before_minor);
121 void write_object_id(
Datagram &dg,
int object_id);
122 void write_pta_id(
Datagram &dg,
int pta_id);
126 int _file_major, _file_minor;
128 bool _file_stdfloat_double;
129 BamTextureMode _file_texture_mode;
149 StoreState(
int object_id) : _object_id(object_id), _refcount(nullptr) {}
151 typedef phash_map<const TypedWritable *, StoreState, pointer_hash> StateMap;
163 BamObjectCode _next_boc;
167 bool _long_object_id;
172 ObjectQueue _object_queue;
177 typedef vector_int FreedObjectIds;
178 FreedObjectIds _freed_object_ids;
182 typedef phash_map<const void *, int, pointer_hash> PTAMap;