|
@@ -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++) {
|
|
|
|