Godot version:
master / 0fc1c4eda
OS/device including version:
Manjaro Linux 17.1
Issue description:
When I update Godot to the latest revision, I found that it no longer load existing scenes with following messages:
ERROR: _load_data: Method/Function Failed, returning: ERR_FILE_CORRUPT
At: scene/resources/texture.cpp:622.
ERROR: _load: Failed loading resource: res://.import/smoke.png-69289c1b13ababc4ebc5b5fe13a38ee4.s3tc.stex
At: core/io/resource_loader.cpp:189.
ERROR: _load: Failed loading resource: res://Data/Textures/Particle/smoke.png
At: core/io/resource_loader.cpp:189.
ERROR: _load_data: Method/Function Failed, returning: ERR_FILE_CORRUPT
At: scene/resources/texture.cpp:622.
ERROR: _load: Failed loading resource: res://.import/smoke.png-69289c1b13ababc4ebc5b5fe13a38ee4.s3tc.stex
At: core/io/resource_loader.cpp:189.
ERROR: _load: Failed loading resource: res://Data/Textures/Particle/smoke.png
At: core/io/resource_loader.cpp:189.
WARNING: _parse_ext_resource: Couldn't load external resource: res://Data/Textures/Particle/smoke.png
There are similar errors regarding other textures as well, all worked correctly before I upgraded. The last known revision that didn't have such a problem was 6c569c9, but probably the issue was introduced more recently.
I have the same problem! Before I just assumed it was my project that was broken.
I just spent a few hours building from old commits for regression testing, and I found it. The problem was introduced in edde52c8dea0193111239b6b2f002adcc24ac0c9. The previous commit 80a8636aa3739822b1ebbbad39f932a176ec158d works just fine.
Ironically, @reduz adding support for 3D and Array textures has broken the ability to load regular PNG textures!
ERROR: _load: Failed loading resource: res://Assets/Textures/Astronaut_BaseColor.png
At: core/io/resource_loader.cpp:186.
0:00:01:0335 - Failed loading resource: res://Assets/Textures/Astronaut_BaseColor.png
----------
Type:Error
Description: Failed loading resource: res://Assets/Textures/Astronaut_BaseColor.png
Time: 0:00:01:0335
C Error: Method/Function Failed, returning: RES()
C Source: core/io/resource_loader.cpp:186
C Function: _load
Just a heads up, it seems like this issue is widespread and will prevent the vast majority of users from doing any type of testing in the nightly builds.
https://godotdevelopers.org/forum/discussion/19885/nighty-build-not-compatible
We need to get these big blockers out of the way when they come up, or we will no longer have timely reports of issues caused by new features and changes.
Damn, I actually fixed a bug in the mipmap generation code, but I thought compatibility was not going to break.. Just out of curiosity, if you delete .import/ folder and let godot re-improt, does the problem get fixed? (I am not saying this is the final solution, just to make sure the problem is what I think it is).
I just pushed a potential fix, let me know if it works.
@reduz My project loads fine with the latest commit you pushed (c627f3a707b9dc052e6665f1a5b1268862a90642)
Fixed by c627f3a.
Most helpful comment
I have the same problem! Before I just assumed it was my project that was broken.
I just spent a few hours building from old commits for regression testing, and I found it. The problem was introduced in edde52c8dea0193111239b6b2f002adcc24ac0c9. The previous commit 80a8636aa3739822b1ebbbad39f932a176ec158d works just fine.
Ironically, @reduz adding support for 3D and Array textures has broken the ability to load regular PNG textures!