Преглед изворни кода

Add support for line continuations (wtf) in obj format, fixes #7974

Juan Linietsky пре 7 година
родитељ
комит
5a5614e8ad
1 измењених фајлова са 9 додато и 0 уклоњено
  1. 9 0
      editor/import/resource_importer_obj.cpp

+ 9 - 0
editor/import/resource_importer_obj.cpp

@@ -224,6 +224,13 @@ static Error _parse_obj(const String &p_path, List<Ref<Mesh> > &r_meshes, bool p
 	while (true) {
 
 		String l = f->get_line().strip_edges();
+		while (l.length() && l[l.length() - 1] == '\\') {
+			String add = f->get_line().strip_edges();
+			l += add;
+			if (add == String()) {
+				break;
+			}
+		}
 
 		if (l.begins_with("v ")) {
 			//vertex
@@ -264,10 +271,12 @@ static Error _parse_obj(const String &p_path, List<Ref<Mesh> > &r_meshes, bool p
 			face[0] = v[1].split("/");
 			face[1] = v[2].split("/");
 			ERR_FAIL_COND_V(face[0].size() == 0, ERR_FILE_CORRUPT);
+
 			ERR_FAIL_COND_V(face[0].size() != face[1].size(), ERR_FILE_CORRUPT);
 			for (int i = 2; i < v.size() - 1; i++) {
 
 				face[2] = v[i + 1].split("/");
+
 				ERR_FAIL_COND_V(face[0].size() != face[2].size(), ERR_FILE_CORRUPT);
 				for (int j = 0; j < 3; j++) {