Bläddra i källkod

upgrade to version 4.10 bams

David Rose 21 år sedan
förälder
incheckning
dec4cb4bdb
2 ändrade filer med 34 tillägg och 15 borttagningar
  1. 32 14
      panda/src/char/computedVertices.cxx
  2. 2 1
      panda/src/putil/bam.h

+ 32 - 14
panda/src/char/computedVertices.cxx

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

+ 2 - 1
panda/src/putil/bam.h

@@ -34,7 +34,7 @@ static const unsigned short _bam_major_ver = 4;
 // Bumped to major version 3 on 12/8/00 to change float64's to float32's.
 // Bumped to major version 4 on 4/10/02 to store new scene graph.
 
-static const unsigned short _bam_minor_ver = 9;
+static const unsigned short _bam_minor_ver = 10;
 // Bumped to minor version 1 on 4/10/03 to add CullFaceAttrib::reverse.
 // Bumped to minor version 2 on 4/12/03 to add num_components to texture.
 // Bumped to minor version 3 on 4/15/03 to add ImageBuffer::_alpha_file_channel
@@ -44,6 +44,7 @@ static const unsigned short _bam_minor_ver = 9;
 // Bumped to minor version 7 on 11/10/03 to add CollisionSolid::_effective_normal
 // Bumped to minor version 8 on 11/12/03 to add FFTCompressor::reject_compression
 // Bumped to minor version 9 on 12/02/03 to change CollisionPolygon internals.
+// Bumped to minor version 10 on 04/23/04 to make ComputedVertices use uint32's.
 
 
 #endif