Yep, I got the same problem. Dunno a solutions yet, but I've been working on it. I will tell you this, for objects such as buildinge and trees and stuff, I just simply change the Matrix Normals to darken where a shodow should be. The method I wrote is actually ray casted but I'm sure you could just as easily find the Tile under the Object and change its normals. I think It could be done like this:
Rem say the matrix is 500x500 in size with 50 tiles each way
Rem that would be 500/50 to get the size of each tile in world coords
Rem each tile is 10x10 in world coords.
Rem Matrix is at 0,0,0 world coords
Function MakeObjectShadow(MatrixNum, ObjectNum)
RESULT = 0
ox = Object Position X(ObjectNum)
oy = Object Position Y(ObjectNum)
oz = Object Position Z(ObjectNum)
Rem Safty stuff
if ox > 500 or ox < 0 or oz > 500 or oz < 0
ExitFunction RESULT
endif
Rem Find out which Tile the Object is on and shade it
set matrix normal MatrixNum, ox/10, oz/10, -1,-1,-1
RESULT = 1
EndFunction RESULT
This should also add a few more frame cycles (as long as you don't do this during game runtime) so precalc this stuff above your do loop or one time when you load a building.
This code is completely un-tested, also you might try putting in different numbers for the -1 that are between the range of -1 and 1. I can't remember which shades and which brightens. Hope that helps and I hope DBP does something about Projected shadows. I'm pretty sure it is DB because Operation Flashpoint also has shadows and is an FPS (same kind of shadows as far as i can tell) and that glitch doesn't appear.
<<Insert signature here>