New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
R_FindShader looks unnecessarily for filenames that does not exist then abort #806
Comments
|
Note: I can share to any developer an Unvanquished-compatible and ready to use pk3 for the Temple map. It will be probably be better to use this one to track down this bug instead of the Erbium map since the Xonotic support still needs some tricks and the Temple map is expected to be fully compatible with Dæmon (Clean and compatible Tremulous map I already ported to last Unvanquished requirements), so the only bug in this map is this shader bug, so it's easier to track down it without dealing with plenty of other unrelated bugs that are still unknown and untracked. |
https://github.com/ioquake/ioq3/blob/master/code/renderergl1/tr_shader.c#L2553 <- ioquake3 gl1 The control flow here is the same if you take into account the "implicitMap" feature in our renderer. If the shader definition does not use "implicitBlend |
|
Hmm, I'm not sure to understand everything, but it is easy to fix? If needed this is a map-temple pk3 (you need a res-tremulous pk3 too). |
|
On current master, the warning message is gone for these textures, but are still not rendered. I don't know if it's related, but on Erbium there is this shader: And dæmon complains about that: As you see, on this case, the two |
|
What if we move the two maps into different stages? |
|
It looks like the code in |

Hi, experimenting with some Xonotic maps on Dæmon I experienced a shader bug with the Xonotic's Erbium map I already experienced with an old Tremulous map named Temple (formerly a Quake Ⅲ Arena map named Pyramid of the Magician). But unlike that very old Temple/PoM map, the Erbium map is a bleeding edge Xonotic map.
That is how looks this shader bug on Dæmon:
Erbium:

Temple/PoM:

For Erbium, Dæmon complains like that:
For Temple, Dæmon complains like that:
This is the Erbium's faulty shader (from
scripts/map_erbium.shaderfile):This is the Temple's faulty shader (from
scripts/sockter.shaderfile):So, what's happening? I don't know exactly, but Dæmon looks for a file named like the shader name, even if it's useless. For example it looks for a file named
rocktomossortextures/sockter/ter_rockmossand of course, it fails since they are not files.The bug seems to happen in R_FindShader function, it does something like that:
So, it calls
R_FindImageFileon the shader's name, andreturnif there is no file named like that, even if it's useless.The text was updated successfully, but these errors were encountered: