насчет дверей
допустим младший байт на карте будет элемент, а остальные статус и тд. Т.о. у нас появляется место для записи положения. при столкновении луча с дверью находим место столкновения 0...63 и смотрим, если луч попадает в открытую часть - пропустить дальше. чтобы дверь рисовалась тоньше чем обычная стена лучу необходимо шагнуть немножко вглубь. да, и еще лучше разделить элемент карты на 4е элемента и для каждой стороны рисовать свою текстуру.
__
чтобы программа запускалась на motorola нужно освободить место для битового массива, удалив 8 картинок, в таком случае текстуры должны подгружаться по мере надобности