I'm working on a small stealth game and have it set up so that guard mobs wander the map looking for players. They're set up to look for players in a cone (using this snippet). It works for the most part, except for an issue involving opacity.

In this image the blue square represents the player. The grey blocks are walls (which are both dense and opaque) and the red represents the field of view from the cone. The yellow X's mark spots in which it makes no sense that the player should be able to see them. Is this a bug or just how opacity works?
If your only interest is in giving your AI guard a more accurate sight-line, you could combine that cone with a custom line-of-sight calculation. Here's a demo of one:
http://www.byond.com/developer/DarkCampainger/LineofSight
(it's hard-coded for an icon_size of 32 still, but that looks like what you're using anyway. I also just noticed I misspelled "thief", heh)
If you want to fix the opacity itself, I thought someone had a library that implemented a custom version. Maybe it was D4RK3 54B3R. Not sure how it performs compared to the built-in algorithm.