This looks good to me, assuming I fabricated your models/images correctly. (mouse_controll function only place changes made)
Code:
function mouse_controll()
{
	VECTOR tmpV0, tmpV1, tmpV2;
	vec_set(tmpV1, vector(mouse_cursor.x,mouse_cursor.y,   1));		vec_for_screen(tmpV1,camera);
	vec_set(tmpV2, vector(mouse_cursor.x,mouse_cursor.y,1000));		vec_for_screen(tmpV2,camera);
	if(tmpV1.z!=tmpV2.z)		//you can skip this check if camera roll is ALWAYS 0 and tilt is NEVER 0 or 180
	{
		vec_lerp(tmpV0, tmpV1, tmpV2, (16-tmpV1.z)/(tmpV2.z - tmpV1.z));
		editor_raster_scale(tmpV0, 32);
	}
}



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