 	src_offset += 3;
 
 	if (params.has_normal) {
-		normal = decode_abgr_2_10_10_10(src_vertices.data[src_offset]).rgb;
+		normal = decode_uint_oct_to_norm(src_vertices.data[src_offset]);
 		src_offset++;
 	}
 
 	if (params.has_tangent) {
-		tangent = decode_abgr_2_10_10_10(src_vertices.data[src_offset]);
+		tangent = decode_uint_oct_to_tang(src_vertices.data[src_offset]);
 	}
 
 	if (params.has_blend_shape) {

				base_offset += 3;

				if (params.has_normal) {
					blend_normal += decode_abgr_2_10_10_10(src_blend_shapes.data[base_offset]).rgb * w;
					base_offset++;
				}

				if (params.has_tangent) {
					blend_tangent += decode_abgr_2_10_10_10(src_blend_shapes.data[base_offset]).rgb * w;
				}

				blend_total += w;

	dst_offset += 3;

	if (params.has_normal) {
		dst_vertices.data[dst_offset] = encode_norm_to_uint_oct(normal);
		dst_offset++;
	}

	if (params.has_tangent) {
		dst_vertices.data[dst_offset] = encode_tang_to_uint_oct(tangent);
	}

#endif
