mirror of
https://github.com/korenkonder/ReDIVA.git
synced 2026-10-07 06:08:16 +03:00
Added some decoration for stream read and write
This commit is contained in:
+5
-6
@@ -1495,7 +1495,7 @@ static void obj_classic_read_model(obj* obj, prj::shared_ptr<prj::stack_allocato
|
||||
obj->material_array = alloc->allocate<obj_material_data>(obj->num_material);
|
||||
for (uint32_t i = 0; i < obj->num_material; i++) {
|
||||
obj_material_data& mat_data = obj->material_array[i];
|
||||
s.read(&mat_data, sizeof(obj_material_data));
|
||||
s.read(mat_data);
|
||||
|
||||
for (obj_material_texture_data& j : mat_data.material.texdata)
|
||||
mat4_transpose(&j.tex_coord_mat, &j.tex_coord_mat);
|
||||
@@ -1665,7 +1665,7 @@ static void obj_classic_write_model(obj* obj, stream& s, int64_t base_offset) {
|
||||
obj_material_data mat_data = obj->material_array[i];
|
||||
for (obj_material_texture_data& j : mat_data.material.texdata)
|
||||
mat4_transpose(&j.tex_coord_mat, &j.tex_coord_mat);
|
||||
s.write(&mat_data, sizeof(obj_material_data));
|
||||
s.write(mat_data);
|
||||
}
|
||||
}
|
||||
s.align_write(0x10);
|
||||
@@ -4471,15 +4471,14 @@ static void obj_modern_read_model(obj* obj, prj::shared_ptr<prj::stack_allocator
|
||||
s.set_position(base_offset + oh.material_array, SEEK_SET);
|
||||
obj->material_array = alloc->allocate<obj_material_data>(obj->num_material);
|
||||
for (uint32_t i = 0; i < obj->num_material; i++) {
|
||||
obj_material_data mat_data;
|
||||
s.read(&mat_data, sizeof(obj_material_data));
|
||||
obj_material_data& mat_data = obj->material_array[i];
|
||||
s.read(mat_data);
|
||||
|
||||
if (s.big_endian)
|
||||
obj_material_texture_enrs_table.apply(&mat_data);
|
||||
|
||||
for (obj_material_texture_data& j : mat_data.material.texdata)
|
||||
mat4_transpose(&j.tex_coord_mat, &j.tex_coord_mat);
|
||||
obj->material_array[i] = mat_data;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -4881,7 +4880,7 @@ static void obj_modern_write_model(obj* obj, stream& s,
|
||||
obj_material_data mat_data = obj->material_array[i];
|
||||
for (obj_material_texture_data& j : mat_data.material.texdata)
|
||||
mat4_transpose(&j.tex_coord_mat, &j.tex_coord_mat);
|
||||
s.write(&mat_data, sizeof(obj_material_data));
|
||||
s.write(mat_data);
|
||||
}
|
||||
}
|
||||
s.align_write(0x10);
|
||||
|
||||
Reference in New Issue
Block a user