Gonetz
Plugin Developer (GlideN64)
AFAIK, nobody but Jabo knows how to implement low level framebuffer clears for special effects like flame's corona or the lens flare from the sun in Zelda. Now I will open this little secret for you (be sure you are sitting safe)
In rdp_fillrect
if (rdp.colorimg_addr == rdp.depthimg_addr)
{
fill depthimage area in RDRAM with rdp.fillcolor
return;
}
Thats all! Easy, eh? I was speechless when I found it. It's too obvious.
But one problem remains. Depth compare is set off for flame's corona. Corona uses the same texture as for fairy. For fairy depth compare must be set off and it is so, but for corona depth compare must be enabled, otherwise it will be drawn over all objects. I have implemented this clear for Icepir8's plugin to be sure it's not the Glide64 only problem. As you can see on the screenshot, TR64Ogl has the same depth problem. I haven't VC.net to check it with newest plugins, so I ask other plugins authors to check it. May be you haven't this depth problem or you will be able to find good solution. Currently I have added a hack to solve this.
Good luck!
Sceen shot: TR64 OGL 0.7.8 + GF4mx
In rdp_fillrect
if (rdp.colorimg_addr == rdp.depthimg_addr)
{
fill depthimage area in RDRAM with rdp.fillcolor
return;
}
Thats all! Easy, eh? I was speechless when I found it. It's too obvious.
But one problem remains. Depth compare is set off for flame's corona. Corona uses the same texture as for fairy. For fairy depth compare must be set off and it is so, but for corona depth compare must be enabled, otherwise it will be drawn over all objects. I have implemented this clear for Icepir8's plugin to be sure it's not the Glide64 only problem. As you can see on the screenshot, TR64Ogl has the same depth problem. I haven't VC.net to check it with newest plugins, so I ask other plugins authors to check it. May be you haven't this depth problem or you will be able to find good solution. Currently I have added a hack to solve this.
Good luck!
Sceen shot: TR64 OGL 0.7.8 + GF4mx