Add support for line continuations (wtf) in obj format, fixes #7974
This commit is contained in:
parent
15db793ef2
commit
5a5614e8ad
|
@ -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++) {
|
||||
|
||||
|
|
Loading…
Reference in New Issue