-unsigned int MDCSurface_read(Surface& surface, const byte* buffer)
-{
- mdcSurface_t mdcSurface;
- {
- PointerInputStream inputStream(buffer);
- istream_read_mdcSurface(inputStream, mdcSurface);
- }
-
- {
- surface.vertices().reserve(mdcSurface.numVerts);
-
- PointerInputStream xyzStream(buffer + mdcSurface.ofsXyzNormals);
- PointerInputStream stStream(buffer + mdcSurface.ofsSt);
- // read verts into vertex array - xyz, st, normal
- for(std::size_t i = 0; i < mdcSurface.numVerts; i++)
- {
- mdcXyzNormal_t mdcXyzNormal;
- istream_read_mdcXyzNormal(xyzStream, mdcXyzNormal);
- mdcSt_t mdcSt;
- istream_read_mdcSt(stStream, mdcSt);
-
- surface.vertices().push_back(
- ArbitraryMeshVertex(
- Vertex3f( mdcXyzNormal.xyz[0] * MDC_XYZ_SCALE, mdcXyzNormal.xyz[1] * MDC_XYZ_SCALE, mdcXyzNormal.xyz[2] * MDC_XYZ_SCALE),
- DecodeNormal(reinterpret_cast<byte*>(&mdcXyzNormal.normal)),
- TexCoord2f(mdcSt.st[0], mdcSt.st[1])
- )
- );
- }
- }
-
- {
- surface.indices().reserve(mdcSurface.numTriangles * 3);
-
- PointerInputStream triangleStream(buffer + mdcSurface.ofsTriangles);
-
- for(std::size_t i = 0; i < mdcSurface.numTriangles; i++)
- {
- mdcTriangle_t triangle;
- istream_read_mdcTriangle(triangleStream, triangle);
- surface.indices().insert(triangle.indexes[0]);
- surface.indices().insert(triangle.indexes[1]);
- surface.indices().insert(triangle.indexes[2]);
- }
- }
-
- {
- mdcShader_t shader;
- PointerInputStream inputStream(buffer + mdcSurface.ofsShaders);
- istream_read_mdcShader(inputStream, shader);
- surface.setShader(shader.name);
- }
-
+unsigned int MDCSurface_read( Surface& surface, const byte* buffer ){
+ mdcSurface_t mdcSurface;
+ {
+ PointerInputStream inputStream( buffer );
+ istream_read_mdcSurface( inputStream, mdcSurface );
+ }
+
+ {
+ surface.vertices().reserve( mdcSurface.numVerts );
+
+ PointerInputStream xyzStream( buffer + mdcSurface.ofsXyzNormals );
+ PointerInputStream stStream( buffer + mdcSurface.ofsSt );
+ // read verts into vertex array - xyz, st, normal
+ for ( std::size_t i = 0; i < mdcSurface.numVerts; i++ )
+ {
+ mdcXyzNormal_t mdcXyzNormal;
+ istream_read_mdcXyzNormal( xyzStream, mdcXyzNormal );
+ mdcSt_t mdcSt;
+ istream_read_mdcSt( stStream, mdcSt );
+
+ surface.vertices().push_back(
+ ArbitraryMeshVertex(
+ Vertex3f( mdcXyzNormal.xyz[0] * MDC_XYZ_SCALE, mdcXyzNormal.xyz[1] * MDC_XYZ_SCALE, mdcXyzNormal.xyz[2] * MDC_XYZ_SCALE ),
+ DecodeNormal( reinterpret_cast<byte*>( &mdcXyzNormal.normal ) ),
+ TexCoord2f( mdcSt.st[0], mdcSt.st[1] )
+ )
+ );
+ }
+ }
+
+ {
+ surface.indices().reserve( mdcSurface.numTriangles * 3 );
+
+ PointerInputStream triangleStream( buffer + mdcSurface.ofsTriangles );
+
+ for ( std::size_t i = 0; i < mdcSurface.numTriangles; i++ )
+ {
+ mdcTriangle_t triangle;
+ istream_read_mdcTriangle( triangleStream, triangle );
+ surface.indices().insert( triangle.indexes[0] );
+ surface.indices().insert( triangle.indexes[1] );
+ surface.indices().insert( triangle.indexes[2] );
+ }
+ }
+
+ {
+ mdcShader_t shader;
+ PointerInputStream inputStream( buffer + mdcSurface.ofsShaders );
+ istream_read_mdcShader( inputStream, shader );
+ surface.setShader( shader.name );
+ }
+