|
@@ -322,31 +322,30 @@ write(ostream &out, Character *character) const {
|
|
|
// the particular object to a Datagram
|
|
// the particular object to a Datagram
|
|
|
////////////////////////////////////////////////////////////////////
|
|
////////////////////////////////////////////////////////////////////
|
|
|
void ComputedVertices::
|
|
void ComputedVertices::
|
|
|
-write_datagram(BamWriter *manager, Datagram &me)
|
|
|
|
|
-{
|
|
|
|
|
|
|
+write_datagram(BamWriter *manager, Datagram &me) {
|
|
|
int i;
|
|
int i;
|
|
|
|
|
|
|
|
- me.add_uint16(_transforms.size());
|
|
|
|
|
|
|
+ me.add_uint32(_transforms.size());
|
|
|
for(i = 0; i < (int)_transforms.size(); i++){
|
|
for(i = 0; i < (int)_transforms.size(); i++){
|
|
|
_transforms[i].write_datagram(me);
|
|
_transforms[i].write_datagram(me);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- me.add_uint16(_vertex_morphs.size());
|
|
|
|
|
|
|
+ me.add_uint32(_vertex_morphs.size());
|
|
|
for(i = 0; i < (int)_vertex_morphs.size(); i++){
|
|
for(i = 0; i < (int)_vertex_morphs.size(); i++){
|
|
|
_vertex_morphs[i].write_datagram(me);
|
|
_vertex_morphs[i].write_datagram(me);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- me.add_uint16(_normal_morphs.size());
|
|
|
|
|
|
|
+ me.add_uint32(_normal_morphs.size());
|
|
|
for(i = 0; i < (int)_normal_morphs.size(); i++){
|
|
for(i = 0; i < (int)_normal_morphs.size(); i++){
|
|
|
_normal_morphs[i].write_datagram(me);
|
|
_normal_morphs[i].write_datagram(me);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- me.add_uint16(_texcoord_morphs.size());
|
|
|
|
|
|
|
+ me.add_uint32(_texcoord_morphs.size());
|
|
|
for(i = 0; i < (int)_texcoord_morphs.size(); i++){
|
|
for(i = 0; i < (int)_texcoord_morphs.size(); i++){
|
|
|
_texcoord_morphs[i].write_datagram(me);
|
|
_texcoord_morphs[i].write_datagram(me);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- me.add_uint16(_color_morphs.size());
|
|
|
|
|
|
|
+ me.add_uint32(_color_morphs.size());
|
|
|
for(i = 0; i < (int)_color_morphs.size(); i++){
|
|
for(i = 0; i < (int)_color_morphs.size(); i++){
|
|
|
_color_morphs[i].write_datagram(me);
|
|
_color_morphs[i].write_datagram(me);
|
|
|
}
|
|
}
|
|
@@ -367,39 +366,58 @@ write_datagram(BamWriter *manager, Datagram &me)
|
|
|
// place
|
|
// place
|
|
|
////////////////////////////////////////////////////////////////////
|
|
////////////////////////////////////////////////////////////////////
|
|
|
void ComputedVertices::
|
|
void ComputedVertices::
|
|
|
-fillin(DatagramIterator& scan, BamReader* manager)
|
|
|
|
|
-{
|
|
|
|
|
|
|
+fillin(DatagramIterator &scan, BamReader *manager) {
|
|
|
int i, size;
|
|
int i, size;
|
|
|
|
|
|
|
|
- size = scan.get_uint16();
|
|
|
|
|
|
|
+ if (manager->get_file_minor_ver() < 10) {
|
|
|
|
|
+ size = scan.get_uint16();
|
|
|
|
|
+ } else {
|
|
|
|
|
+ size = scan.get_uint32();
|
|
|
|
|
+ }
|
|
|
for(i = 0; i < size; i++){
|
|
for(i = 0; i < size; i++){
|
|
|
VertexTransform vt;
|
|
VertexTransform vt;
|
|
|
vt.read_datagram(scan);
|
|
vt.read_datagram(scan);
|
|
|
_transforms.push_back(vt);
|
|
_transforms.push_back(vt);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- size = scan.get_uint16();
|
|
|
|
|
|
|
+ if (manager->get_file_minor_ver() < 10) {
|
|
|
|
|
+ size = scan.get_uint16();
|
|
|
|
|
+ } else {
|
|
|
|
|
+ size = scan.get_uint32();
|
|
|
|
|
+ }
|
|
|
for(i = 0; i < size; i++){
|
|
for(i = 0; i < size; i++){
|
|
|
ComputedVerticesMorphVertex vm;
|
|
ComputedVerticesMorphVertex vm;
|
|
|
vm.read_datagram(scan);
|
|
vm.read_datagram(scan);
|
|
|
_vertex_morphs.push_back(vm);
|
|
_vertex_morphs.push_back(vm);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- size = scan.get_uint16();
|
|
|
|
|
|
|
+ if (manager->get_file_minor_ver() < 10) {
|
|
|
|
|
+ size = scan.get_uint16();
|
|
|
|
|
+ } else {
|
|
|
|
|
+ size = scan.get_uint32();
|
|
|
|
|
+ }
|
|
|
for(i = 0; i < size; i++){
|
|
for(i = 0; i < size; i++){
|
|
|
ComputedVerticesMorphNormal nm;
|
|
ComputedVerticesMorphNormal nm;
|
|
|
nm.read_datagram(scan);
|
|
nm.read_datagram(scan);
|
|
|
_normal_morphs.push_back(nm);
|
|
_normal_morphs.push_back(nm);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- size = scan.get_uint16();
|
|
|
|
|
|
|
+ if (manager->get_file_minor_ver() < 10) {
|
|
|
|
|
+ size = scan.get_uint16();
|
|
|
|
|
+ } else {
|
|
|
|
|
+ size = scan.get_uint32();
|
|
|
|
|
+ }
|
|
|
for(i = 0; i < size; i++){
|
|
for(i = 0; i < size; i++){
|
|
|
ComputedVerticesMorphTexCoord tm;
|
|
ComputedVerticesMorphTexCoord tm;
|
|
|
tm.read_datagram(scan);
|
|
tm.read_datagram(scan);
|
|
|
_texcoord_morphs.push_back(tm);
|
|
_texcoord_morphs.push_back(tm);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- size = scan.get_uint16();
|
|
|
|
|
|
|
+ if (manager->get_file_minor_ver() < 10) {
|
|
|
|
|
+ size = scan.get_uint16();
|
|
|
|
|
+ } else {
|
|
|
|
|
+ size = scan.get_uint32();
|
|
|
|
|
+ }
|
|
|
for(i = 0; i < size; i++){
|
|
for(i = 0; i < size; i++){
|
|
|
ComputedVerticesMorphColor cm;
|
|
ComputedVerticesMorphColor cm;
|
|
|
cm.read_datagram(scan);
|
|
cm.read_datagram(scan);
|