I'm running R256.34 and I'm attaching a .mfa file illustrating the issue. LOS_woes.mfa
I'm attempting to construct a sort of line-of-sight algorithm using a detector object. The detector is a single pixel. In a fast loop, the X scale of the pixel is set to the distance from the seeing object to the target (mouse, or player object.) Its angle is set to the angle from the seeing object to the target. Then it tests for overlaps with walls. If the detector object overlaps a wall, then the player should be safe from being seen.
There is slightly more to it: the walls all have their animation directions changed to a "footprint" mode and then changed back after the line-of-sight calculation. It's easy enough for me to see if the detector overlaps any part of any wall, but I need to detect overlap with the walls' footprints specifically.
Now, in the attached .mfa file, the collision detection behaves exactly as it should if you just load it up and run. However, if you change the display mode to Direct 3D 9, you will see that it breaks the behavior. Also note that while in Direct 3D 9 mode, if you position the seeing object and the mouse just right so that the mouse has the same y coordinate as the object and is to the right of the object, it *will* detect collisions with the walls.
Anyway it would be nice if this technique still worked in Direct3D 9. It would mean the difference of 10-20 FPS for me in normal gameplay, and that's not an exaggeration.