diff options
| author | Juan Linietsky | 2017-01-07 18:25:37 -0300 |
|---|---|---|
| committer | Juan Linietsky | 2017-01-07 18:26:38 -0300 |
| commit | 2ab83e1abbf5ee6d00e16056a9e9394114026f28 (patch) | |
| tree | 7efbb375cc4d00d8e8589fcf1b6a1303bec5df2d /tools/editor/io_plugins | |
| parent | 2a38a5eaa844043b846e03d6655f84caf8a31e74 (diff) | |
| download | godot-2ab83e1abbf5ee6d00e16056a9e9394114026f28.tar.gz godot-2ab83e1abbf5ee6d00e16056a9e9394114026f28.tar.zst godot-2ab83e1abbf5ee6d00e16056a9e9394114026f28.zip | |
Memory pool vectors (DVector) have been enormously simplified in code, and renamed to PoolVector
Diffstat (limited to 'tools/editor/io_plugins')
7 files changed, 89 insertions, 89 deletions
diff --git a/tools/editor/io_plugins/editor_font_import_plugin.cpp b/tools/editor/io_plugins/editor_font_import_plugin.cpp index 2bc29039e..861af5945 100644 --- a/tools/editor/io_plugins/editor_font_import_plugin.cpp +++ b/tools/editor/io_plugins/editor_font_import_plugin.cpp @@ -1380,10 +1380,10 @@ Ref<BitmapFont> EditorFontImportPlugin::generate_font(const Ref<ResourceImportMe int ow=font_data_list[i]->width; int oh=font_data_list[i]->height; - DVector<uint8_t> pixels; + PoolVector<uint8_t> pixels; pixels.resize(s.x*s.y*4); - DVector<uint8_t>::Write w = pixels.write(); + PoolVector<uint8_t>::Write w = pixels.write(); //print_line("val: "+itos(font_data_list[i]->valign)); for(int y=0;y<s.height;y++) { @@ -1512,7 +1512,7 @@ Ref<BitmapFont> EditorFontImportPlugin::generate_font(const Ref<ResourceImportMe } - w=DVector<uint8_t>::Write(); + w=PoolVector<uint8_t>::Write(); Image img(s.width,s.height,0,Image::FORMAT_RGBA8,pixels); @@ -1552,10 +1552,10 @@ Ref<BitmapFont> EditorFontImportPlugin::generate_font(const Ref<ResourceImportMe if (from->has_option("advanced/premultiply_alpha") && bool(from->get_option("advanced/premultiply_alpha"))) { - DVector<uint8_t> data = atlas.get_data(); + PoolVector<uint8_t> data = atlas.get_data(); int dl = data.size(); { - DVector<uint8_t>::Write w = data.write(); + PoolVector<uint8_t>::Write w = data.write(); for(int i=0;i<dl;i+=4) { diff --git a/tools/editor/io_plugins/editor_import_collada.cpp b/tools/editor/io_plugins/editor_import_collada.cpp index c1830bf11..5720e15ca 100644 --- a/tools/editor/io_plugins/editor_import_collada.cpp +++ b/tools/editor/io_plugins/editor_import_collada.cpp @@ -485,15 +485,15 @@ Error ColladaImport::_create_material(const String& p_target) { } -static void _generate_normals(const DVector<int>& p_indices,const DVector<Vector3>& p_vertices,DVector<Vector3>&r_normals) { +static void _generate_normals(const PoolVector<int>& p_indices,const PoolVector<Vector3>& p_vertices,PoolVector<Vector3>&r_normals) { r_normals.resize(p_vertices.size()); - DVector<Vector3>::Write narrayw = r_normals.write(); + PoolVector<Vector3>::Write narrayw = r_normals.write(); int iacount=p_indices.size()/3; - DVector<int>::Read index_arrayr = p_indices.read(); - DVector<Vector3>::Read vertex_arrayr = p_vertices.read(); + PoolVector<int>::Read index_arrayr = p_indices.read(); + PoolVector<Vector3>::Read vertex_arrayr = p_vertices.read(); for(int idx=0;idx<iacount;idx++) { @@ -519,7 +519,7 @@ static void _generate_normals(const DVector<int>& p_indices,const DVector<Vector } -static void _generate_tangents_and_binormals(const DVector<int>& p_indices,const DVector<Vector3>& p_vertices,const DVector<Vector3>& p_uvs,const DVector<Vector3>& p_normals,DVector<real_t>&r_tangents) { +static void _generate_tangents_and_binormals(const PoolVector<int>& p_indices,const PoolVector<Vector3>& p_vertices,const PoolVector<Vector3>& p_uvs,const PoolVector<Vector3>& p_normals,PoolVector<real_t>&r_tangents) { int vlen=p_vertices.size(); @@ -531,10 +531,10 @@ static void _generate_tangents_and_binormals(const DVector<int>& p_indices,const int iacount=p_indices.size()/3; - DVector<int>::Read index_arrayr = p_indices.read(); - DVector<Vector3>::Read vertex_arrayr = p_vertices.read(); - DVector<Vector3>::Read narrayr = p_normals.read(); - DVector<Vector3>::Read uvarrayr = p_uvs.read(); + PoolVector<int>::Read index_arrayr = p_indices.read(); + PoolVector<Vector3>::Read vertex_arrayr = p_vertices.read(); + PoolVector<Vector3>::Read narrayr = p_normals.read(); + PoolVector<Vector3>::Read uvarrayr = p_uvs.read(); for(int idx=0;idx<iacount;idx++) { @@ -588,7 +588,7 @@ static void _generate_tangents_and_binormals(const DVector<int>& p_indices,const } r_tangents.resize(vlen*4); - DVector<real_t>::Write tarrayw = r_tangents.write(); + PoolVector<real_t>::Write tarrayw = r_tangents.write(); for(int idx=0;idx<vlen;idx++) { Vector3 tangent = tangents[idx]; @@ -1031,9 +1031,9 @@ Error ColladaImport::_create_mesh_surfaces(bool p_optimize,Ref<Mesh>& p_mesh,con } - DVector<int> index_array; + PoolVector<int> index_array; index_array.resize(indices_list.size()); - DVector<int>::Write index_arrayw = index_array.write(); + PoolVector<int>::Write index_arrayw = index_array.write(); int iidx=0; for(List<int>::Element *F=indices_list.front();F;F=F->next()) { @@ -1041,7 +1041,7 @@ Error ColladaImport::_create_mesh_surfaces(bool p_optimize,Ref<Mesh>& p_mesh,con index_arrayw[iidx++]=F->get(); } - index_arrayw=DVector<int>::Write(); + index_arrayw=PoolVector<int>::Write(); /*****************/ @@ -1075,14 +1075,14 @@ Error ColladaImport::_create_mesh_surfaces(bool p_optimize,Ref<Mesh>& p_mesh,con - DVector<Vector3> final_vertex_array; - DVector<Vector3> final_normal_array; - DVector<float> final_tangent_array; - DVector<Color> final_color_array; - DVector<Vector3> final_uv_array; - DVector<Vector3> final_uv2_array; - DVector<int> final_bone_array; - DVector<float> final_weight_array; + PoolVector<Vector3> final_vertex_array; + PoolVector<Vector3> final_normal_array; + PoolVector<float> final_tangent_array; + PoolVector<Color> final_color_array; + PoolVector<Vector3> final_uv_array; + PoolVector<Vector3> final_uv2_array; + PoolVector<int> final_bone_array; + PoolVector<float> final_weight_array; uint32_t final_format=0; @@ -1117,61 +1117,61 @@ Error ColladaImport::_create_mesh_surfaces(bool p_optimize,Ref<Mesh>& p_mesh,con int vlen = vertex_array.size(); { //vertices - DVector<Vector3> varray; + PoolVector<Vector3> varray; varray.resize(vertex_array.size()); - DVector<Vector3>::Write varrayw = varray.write(); + PoolVector<Vector3>::Write varrayw = varray.write(); for(int k=0;k<vlen;k++) varrayw[k]=vertex_array[k].vertex; - varrayw = DVector<Vector3>::Write(); + varrayw = PoolVector<Vector3>::Write(); final_vertex_array=varray; } if (uv_src) { //compute uv first, may be needed for computing tangent/bionrmal - DVector<Vector3> uvarray; + PoolVector<Vector3> uvarray; uvarray.resize(vertex_array.size()); - DVector<Vector3>::Write uvarrayw = uvarray.write(); + PoolVector<Vector3>::Write uvarrayw = uvarray.write(); for(int k=0;k<vlen;k++) { uvarrayw[k]=vertex_array[k].uv; } - uvarrayw = DVector<Vector3>::Write(); + uvarrayw = PoolVector<Vector3>::Write(); final_uv_array=uvarray; } if (uv2_src) { //compute uv first, may be needed for computing tangent/bionrmal - DVector<Vector3> uv2array; + PoolVector<Vector3> uv2array; uv2array.resize(vertex_array.size()); - DVector<Vector3>::Write uv2arrayw = uv2array.write(); + PoolVector<Vector3>::Write uv2arrayw = uv2array.write(); for(int k=0;k<vlen;k++) { uv2arrayw[k]=vertex_array[k].uv2; } - uv2arrayw = DVector<Vector3>::Write(); + uv2arrayw = PoolVector<Vector3>::Write(); final_uv2_array=uv2array; } if (normal_src) { - DVector<Vector3> narray; + PoolVector<Vector3> narray; narray.resize(vertex_array.size()); - DVector<Vector3>::Write narrayw = narray.write(); + PoolVector<Vector3>::Write narrayw = narray.write(); for(int k=0;k<vlen;k++) { narrayw[k]=vertex_array[k].normal; } - narrayw = DVector<Vector3>::Write(); + narrayw = PoolVector<Vector3>::Write(); final_normal_array=narray; - //DVector<Vector3> altnaray; + //PoolVector<Vector3> altnaray; //_generate_normals(index_array,final_vertex_array,altnaray); //for(int i=0;i<altnaray.size();i++) @@ -1189,9 +1189,9 @@ Error ColladaImport::_create_mesh_surfaces(bool p_optimize,Ref<Mesh>& p_mesh,con if (final_normal_array.size() && uv_src && binormal_src && tangent_src && !force_make_tangents) { - DVector<real_t> tarray; + PoolVector<real_t> tarray; tarray.resize(vertex_array.size()*4); - DVector<real_t>::Write tarrayw = tarray.write(); + PoolVector<real_t>::Write tarrayw = tarray.write(); for(int k=0;k<vlen;k++) { @@ -1202,7 +1202,7 @@ Error ColladaImport::_create_mesh_surfaces(bool p_optimize,Ref<Mesh>& p_mesh,con } - tarrayw = DVector<real_t>::Write(); + tarrayw = PoolVector<real_t>::Write(); final_tangent_array=tarray; } else if (final_normal_array.size() && primitive==Mesh::PRIMITIVE_TRIANGLES && final_uv_array.size() && (force_make_tangents || (material.is_valid()))){ @@ -1217,27 +1217,27 @@ Error ColladaImport::_create_mesh_surfaces(bool p_optimize,Ref<Mesh>& p_mesh,con if (color_src) { - DVector<Color> colorarray; + PoolVector<Color> colorarray; colorarray.resize(vertex_array.size()); - DVector<Color>::Write colorarrayw = colorarray.write(); + PoolVector<Color>::Write colorarrayw = colorarray.write(); for(int k=0;k<vlen;k++) { colorarrayw[k]=vertex_array[k].color; } - colorarrayw = DVector<Color>::Write(); + colorarrayw = PoolVector<Color>::Write(); final_color_array=colorarray; } if (has_weights) { - DVector<float> weightarray; - DVector<int> bonearray; + PoolVector<float> weightarray; + PoolVector<int> bonearray; weightarray.resize(vertex_array.size()*4); - DVector<float>::Write weightarrayw = weightarray.write(); + PoolVector<float>::Write weightarrayw = weightarray.write(); bonearray.resize(vertex_array.size()*4); - DVector<int>::Write bonearrayw = bonearray.write(); + PoolVector<int>::Write bonearrayw = bonearray.write(); for(int k=0;k<vlen;k++) { float sum=0; @@ -1262,8 +1262,8 @@ Error ColladaImport::_create_mesh_surfaces(bool p_optimize,Ref<Mesh>& p_mesh,con } - weightarrayw = DVector<float>::Write(); - bonearrayw = DVector<int>::Write(); + weightarrayw = PoolVector<float>::Write(); + bonearrayw = PoolVector<int>::Write(); final_weight_array = weightarray; final_bone_array = bonearray; @@ -1326,7 +1326,7 @@ Error ColladaImport::_create_mesh_surfaces(bool p_optimize,Ref<Mesh>& p_mesh,con // morph anything but "POSITIONS" seem to exit. Because of this, normals and binormals/tangents have to be regenerated here, // which may result in inaccurate (but most of the time good enough) results. - DVector<Vector3> vertices; + PoolVector<Vector3> vertices; vertices.resize(vlen); ERR_FAIL_COND_V( md.vertices.size() != 1, ERR_INVALID_DATA); @@ -1345,7 +1345,7 @@ Error ColladaImport::_create_mesh_surfaces(bool p_optimize,Ref<Mesh>& p_mesh,con //read vertices from morph target - DVector<Vector3>::Write vertw = vertices.write(); + PoolVector<Vector3>::Write vertw = vertices.write(); for(int m_i=0;m_i<m->array.size()/stride;m_i++) { @@ -1381,9 +1381,9 @@ Error ColladaImport::_create_mesh_surfaces(bool p_optimize,Ref<Mesh>& p_mesh,con //vertices are in place, now generate everything else - vertw = DVector<Vector3>::Write(); - DVector<Vector3> normals; - DVector<float> tangents; + vertw = PoolVector<Vector3>::Write(); + PoolVector<Vector3> normals; + PoolVector<float> tangents; print_line("vertex source id: "+vertex_src_id); if(md.vertices[vertex_src_id].sources.has("NORMAL")){ //has normals @@ -1402,7 +1402,7 @@ Error ColladaImport::_create_mesh_surfaces(bool p_optimize,Ref<Mesh>& p_mesh,con //read normals from morph target - DVector<Vector3>::Write vertw = normals.write(); + PoolVector<Vector3>::Write vertw = normals.write(); for(int m_i=0;m_i<m->array.size()/stride;m_i++) { diff --git a/tools/editor/io_plugins/editor_sample_import_plugin.cpp b/tools/editor/io_plugins/editor_sample_import_plugin.cpp index b776fdeec..db405b1cd 100644 --- a/tools/editor/io_plugins/editor_sample_import_plugin.cpp +++ b/tools/editor/io_plugins/editor_sample_import_plugin.cpp @@ -443,8 +443,8 @@ Error EditorSampleImportPlugin::import(const String& p_path, const Ref<ResourceI data.resize(len*chans); { - DVector<uint8_t> src_data = smp->get_data(); - DVector<uint8_t>::Read sr = src_data.read(); + PoolVector<uint8_t> src_data = smp->get_data(); + PoolVector<uint8_t>::Read sr = src_data.read(); for(int i=0;i<len*chans;i++) { @@ -602,7 +602,7 @@ Error EditorSampleImportPlugin::import(const String& p_path, const Ref<ResourceI } - DVector<uint8_t> dst_data; + PoolVector<uint8_t> dst_data; Sample::Format dst_format; if ( compression == _EditorSampleImportOptions::COMPRESS_MODE_RAM) { @@ -629,8 +629,8 @@ Error EditorSampleImportPlugin::import(const String& p_path, const Ref<ResourceI right[i]=data[i*2+1]; } - DVector<uint8_t> bleft; - DVector<uint8_t> bright; + PoolVector<uint8_t> bleft; + PoolVector<uint8_t> bright; _compress_ima_adpcm(left,bleft); _compress_ima_adpcm(right,bright); @@ -638,9 +638,9 @@ Error EditorSampleImportPlugin::import(const String& p_path, const Ref<ResourceI int dl = bleft.size(); dst_data.resize( dl *2 ); - DVector<uint8_t>::Write w=dst_data.write(); - DVector<uint8_t>::Read rl=bleft.read(); - DVector<uint8_t>::Read rr=bright.read(); + PoolVector<uint8_t>::Write w=dst_data.write(); + PoolVector<uint8_t>::Read rl=bleft.read(); + PoolVector<uint8_t>::Read rr=bright.read(); for(int i=0;i<dl;i++) { w[i*2+0]=rl[i]; @@ -655,7 +655,7 @@ Error EditorSampleImportPlugin::import(const String& p_path, const Ref<ResourceI dst_format=is16?Sample::FORMAT_PCM16:Sample::FORMAT_PCM8; dst_data.resize( data.size() * (is16?2:1)); { - DVector<uint8_t>::Write w = dst_data.write(); + PoolVector<uint8_t>::Write w = dst_data.write(); int ds=data.size(); for(int i=0;i<ds;i++) { @@ -700,7 +700,7 @@ Error EditorSampleImportPlugin::import(const String& p_path, const Ref<ResourceI } -void EditorSampleImportPlugin::_compress_ima_adpcm(const Vector<float>& p_data,DVector<uint8_t>& dst_data) { +void EditorSampleImportPlugin::_compress_ima_adpcm(const Vector<float>& p_data,PoolVector<uint8_t>& dst_data) { /*p_sample_data->data = (void*)malloc(len); @@ -730,7 +730,7 @@ void EditorSampleImportPlugin::_compress_ima_adpcm(const Vector<float>& p_data,D datalen++; dst_data.resize(datalen/2+4); - DVector<uint8_t>::Write w = dst_data.write(); + PoolVector<uint8_t>::Write w = dst_data.write(); int i,step_idx=0,prev=0; diff --git a/tools/editor/io_plugins/editor_sample_import_plugin.h b/tools/editor/io_plugins/editor_sample_import_plugin.h index 915ca3883..6d781756b 100644 --- a/tools/editor/io_plugins/editor_sample_import_plugin.h +++ b/tools/editor/io_plugins/editor_sample_import_plugin.h @@ -40,7 +40,7 @@ class EditorSampleImportPlugin : public EditorImportPlugin { GDCLASS(EditorSampleImportPlugin,EditorImportPlugin); EditorSampleImportDialog *dialog; - void _compress_ima_adpcm(const Vector<float>& p_data,DVector<uint8_t>& dst_data); + void _compress_ima_adpcm(const Vector<float>& p_data,PoolVector<uint8_t>& dst_data); public: static EditorSampleImportPlugin *singleton; diff --git a/tools/editor/io_plugins/editor_scene_import_plugin.cpp b/tools/editor/io_plugins/editor_scene_import_plugin.cpp index c387e503e..076750e59 100644 --- a/tools/editor/io_plugins/editor_scene_import_plugin.cpp +++ b/tools/editor/io_plugins/editor_scene_import_plugin.cpp @@ -1897,7 +1897,7 @@ Node* EditorSceneImportPlugin::_fix_node(Node *p_node,Node *p_root,Map<Ref<Mesh> return p_node; MeshInstance *mi = p_node->cast_to<MeshInstance>(); - DVector<Face3> faces = mi->get_faces(VisualInstance::FACES_SOLID); + PoolVector<Face3> faces = mi->get_faces(VisualInstance::FACES_SOLID); BSP_Tree bsptree(faces); @@ -1940,7 +1940,7 @@ Node* EditorSceneImportPlugin::_fix_node(Node *p_node,Node *p_root,Map<Ref<Mesh> return p_node; MeshInstance *mi = p_node->cast_to<MeshInstance>(); - DVector<Face3> faces = mi->get_faces(VisualInstance::FACES_SOLID); + PoolVector<Face3> faces = mi->get_faces(VisualInstance::FACES_SOLID); ERR_FAIL_COND_V(faces.size()==0,NULL); //step 1 compute the plane diff --git a/tools/editor/io_plugins/editor_scene_importer_fbxconv.cpp b/tools/editor/io_plugins/editor_scene_importer_fbxconv.cpp index 1cb16843c..e1b071994 100644 --- a/tools/editor/io_plugins/editor_scene_importer_fbxconv.cpp +++ b/tools/editor/io_plugins/editor_scene_importer_fbxconv.cpp @@ -336,7 +336,7 @@ void EditorSceneImporterFBXConv::_add_surface(State& state,Ref<Mesh>& m,const Di int idx = m->get_surface_count(); Array array = state.surface_cache[id].array; - DVector<float> indices = array[Mesh::ARRAY_BONES]; + PoolVector<float> indices = array[Mesh::ARRAY_BONES]; if (indices.size() && part.has("bones")) { @@ -361,7 +361,7 @@ void EditorSceneImporterFBXConv::_add_surface(State& state,Ref<Mesh>& m,const Di int ilen=indices.size(); { - DVector<float>::Write iw=indices.write(); + PoolVector<float>::Write iw=indices.write(); for(int j=0;j<ilen;j++) { int b = iw[j]; ERR_CONTINUE(!index_map.has(b)); @@ -680,11 +680,11 @@ void EditorSceneImporterFBXConv::_parse_surfaces(State& state) { case Mesh::ARRAY_VERTEX: case Mesh::ARRAY_NORMAL: { - DVector<Vector3> vtx; + PoolVector<Vector3> vtx; vtx.resize(array.size()); { int len=array.size(); - DVector<Vector3>::Write w = vtx.write(); + PoolVector<Vector3>::Write w = vtx.write(); for(int l=0;l<len;l++) { int pos = array[l]; @@ -701,12 +701,12 @@ void EditorSceneImporterFBXConv::_parse_surfaces(State& state) { if (binormal_ofs<0) break; - DVector<float> tangents; + PoolVector<float> tangents; tangents.resize(array.size()*4); { int len=array.size(); - DVector<float>::Write w = tangents.write(); + PoolVector<float>::Write w = tangents.write(); for(int l=0;l<len;l++) { int pos = array[l]; @@ -736,11 +736,11 @@ void EditorSceneImporterFBXConv::_parse_surfaces(State& state) { } break; case Mesh::ARRAY_COLOR: { - DVector<Color> cols; + PoolVector<Color> cols; cols.resize(array.size()); { int len=array.size(); - DVector<Color>::Write w = cols.write(); + PoolVector<Color>::Write w = cols.write(); for(int l=0;l<len;l++) { int pos = array[l]; @@ -756,11 +756,11 @@ void EditorSceneImporterFBXConv::_parse_surfaces(State& state) { case Mesh::ARRAY_TEX_UV: case Mesh::ARRAY_TEX_UV2: { - DVector<Vector2> uvs; + PoolVector<Vector2> uvs; uvs.resize(array.size()); { int len=array.size(); - DVector<Vector2>::Write w = uvs.write(); + PoolVector<Vector2>::Write w = uvs.write(); for(int l=0;l<len;l++) { int pos = array[l]; @@ -775,14 +775,14 @@ void EditorSceneImporterFBXConv::_parse_surfaces(State& state) { case Mesh::ARRAY_BONES: case Mesh::ARRAY_WEIGHTS: { - DVector<float> arr; + PoolVector<float> arr; arr.resize(array.size()*4); int po=k==Mesh::ARRAY_WEIGHTS?1:0; lofs=ofs[Mesh::ARRAY_BONES]; { int len=array.size(); - DVector<float>::Write w = arr.write(); + PoolVector<float>::Write w = arr.write(); for(int l=0;l<len;l++) { int pos = array[l]; @@ -801,12 +801,12 @@ void EditorSceneImporterFBXConv::_parse_surfaces(State& state) { } break; case Mesh::ARRAY_INDEX: { - DVector<int> arr; + PoolVector<int> arr; arr.resize(indices.size()); { int len=indices.size(); - DVector<int>::Write w = arr.write(); + PoolVector<int>::Write w = arr.write(); for(int l=0;l<len;l++) { w[l]=iarray[ indices[l] ]; @@ -838,10 +838,10 @@ void EditorSceneImporterFBXConv::_parse_surfaces(State& state) { } if (pt==Mesh::PRIMITIVE_TRIANGLES) { - DVector<int> ia=arrays[Mesh::ARRAY_INDEX]; + PoolVector<int> ia=arrays[Mesh::ARRAY_INDEX]; int len=ia.size(); { - DVector<int>::Write w=ia.write(); + PoolVector<int>::Write w=ia.write(); for(int l=0;l<len;l+=3) { SWAP(w[l+1],w[l+2]); } diff --git a/tools/editor/io_plugins/editor_texture_import_plugin.cpp b/tools/editor/io_plugins/editor_texture_import_plugin.cpp index 28462438f..16bc334cc 100644 --- a/tools/editor/io_plugins/editor_texture_import_plugin.cpp +++ b/tools/editor/io_plugins/editor_texture_import_plugin.cpp @@ -1199,9 +1199,9 @@ Error EditorTextureImportPlugin::import2(const String& p_path, const Ref<Resourc src.convert(Image::FORMAT_RGB8); } - DVector<uint8_t> data = src.get_data(); + PoolVector<uint8_t> data = src.get_data(); MD5_CTX md5; - DVector<uint8_t>::Read r=data.read(); + PoolVector<uint8_t>::Read r=data.read(); MD5Init(&md5); int len=data.size(); for(int j=0;j<len;j++) { |
