- {
- PointerInputStream inputStream(buffer);
- istream_read_md3Surface(inputStream, md3Surface);
- }
-
- {
- surface.vertices().reserve(md3Surface.numVerts);
-
- PointerInputStream xyzNormalStream(buffer + md3Surface.ofsXyzNormals);
- PointerInputStream stStream(buffer + md3Surface.ofsSt);
-
- // read verts into vertex array - xyz, st, normal
- for(int i = 0; i < md3Surface.numVerts; i++)
- {
- md3XyzNormal_t md3Xyz;
- istream_read_md3XyzNormal(xyzNormalStream, md3Xyz);
-
- md3St_t md3St;
- istream_read_md3St(stStream, md3St);
-
- surface.vertices().push_back(
- ArbitraryMeshVertex(
- Vertex3f( md3Xyz.xyz[0] * MD3_XYZ_SCALE, md3Xyz.xyz[1] * MD3_XYZ_SCALE, md3Xyz.xyz[2] * MD3_XYZ_SCALE),
- DecodeNormal(reinterpret_cast<byte*>(&md3Xyz.normal)),
- TexCoord2f(md3St.st[0], md3St.st[1])
- )
- );
- }
- }
-
- {
- surface.indices().reserve(md3Surface.numTriangles * 3);
-
- PointerInputStream inputStream(buffer + md3Surface.ofsTriangles);
- for(int i = 0; i < md3Surface.numTriangles; i++)
- {
- md3Triangle_t md3Triangle;
- istream_read_md3Triangle(inputStream, md3Triangle);
- surface.indices().insert(md3Triangle.indexes[0]);
- surface.indices().insert(md3Triangle.indexes[1]);
- surface.indices().insert(md3Triangle.indexes[2]);
- }
- }
-
- {
- md3Shader_t md3Shader;
- {
- PointerInputStream inputStream(buffer + md3Surface.ofsShaders);
- istream_read_md3Shader(inputStream, md3Shader);
- }
- surface.setShader(md3Shader.name);
- }
-
+ {
+ PointerInputStream inputStream( buffer );
+ istream_read_md3Surface( inputStream, md3Surface );
+ }
+
+ {
+ surface.vertices().reserve( md3Surface.numVerts );
+
+ PointerInputStream xyzNormalStream( buffer + md3Surface.ofsXyzNormals );
+ PointerInputStream stStream( buffer + md3Surface.ofsSt );
+
+ // read verts into vertex array - xyz, st, normal
+ for ( int i = 0; i < md3Surface.numVerts; i++ )
+ {
+ md3XyzNormal_t md3Xyz;
+ istream_read_md3XyzNormal( xyzNormalStream, md3Xyz );
+
+ md3St_t md3St;
+ istream_read_md3St( stStream, md3St );
+
+ surface.vertices().push_back(
+ ArbitraryMeshVertex(
+ Vertex3f( md3Xyz.xyz[0] * MD3_XYZ_SCALE, md3Xyz.xyz[1] * MD3_XYZ_SCALE, md3Xyz.xyz[2] * MD3_XYZ_SCALE ),
+ DecodeNormal( reinterpret_cast<byte*>( &md3Xyz.normal ) ),
+ TexCoord2f( md3St.st[0], md3St.st[1] )
+ )
+ );
+ }
+ }
+
+ {
+ surface.indices().reserve( md3Surface.numTriangles * 3 );
+
+ PointerInputStream inputStream( buffer + md3Surface.ofsTriangles );
+ for ( int i = 0; i < md3Surface.numTriangles; i++ )
+ {
+ md3Triangle_t md3Triangle;
+ istream_read_md3Triangle( inputStream, md3Triangle );
+ surface.indices().insert( md3Triangle.indexes[0] );
+ surface.indices().insert( md3Triangle.indexes[1] );
+ surface.indices().insert( md3Triangle.indexes[2] );
+ }
+ }
+
+ {
+ md3Shader_t md3Shader;
+ {
+ PointerInputStream inputStream( buffer + md3Surface.ofsShaders );
+ istream_read_md3Shader( inputStream, md3Shader );
+ }
+ surface.setShader( md3Shader.name );
+ }
+