Here is an example of my variation of Esper's idea... in the flesh...

I will post a link to a complete demo of this code shortly...

Code:
BMAP*  STW_bmap = "#16x16x24";
PANEL* STW_pan  = { bmap=STW_bmap;  alpha=75;     flags = TRANSLUCENT | SHOW; }
VIEW*  STW_cam  = { bmap=STW_bmap;  clip_near=1;  flags = SHOW;               }

void see_thru_wall_updater()
{
	vec_set(STW_cam.x, camera.x);		vec_set(STW_cam.pan, camera.pan);
	if((STW_bmap.width!=screen_size.x)||(STW_bmap.height!=screen_size.y))
	{	
		STW_pan.bmap=STW_cam.bmap = NULL;
		bmap_purge(STW_bmap);		bmap_remove(STW_bmap);
		STW_bmap = bmap_createblack(screen_size.x, screen_size.y, 24);
		STW_pan.bmap = STW_cam.bmap = STW_bmap;
		STW_pan.size_x=screen_size.x;	STW_pan.size_y=screen_size.y;
	}
}




"There is no fate but what WE make." - CEO Cyberdyne Systems Corp.
A8.30.5 Commercial