void draw_confg_right (ALLEGRO_BITMAP *bitmap, struct pos *p, enum em em, enum vm vm) { switch (fake (p)) { case NO_FLOOR: return; case FLOOR: draw_floor_right (bitmap, p, em, vm); break; case BROKEN_FLOOR: draw_broken_floor_right (bitmap, p, em, vm); break; case SKELETON_FLOOR: draw_skeleton_floor_right (bitmap, p, em, vm); break; case LOOSE_FLOOR: draw_loose_floor_right (bitmap, p, em, vm); break; case SPIKES_FLOOR: draw_spikes_floor_right (bitmap, p, em, vm); break; case OPENER_FLOOR: draw_opener_floor_right (bitmap, p, em, vm); break; case CLOSER_FLOOR: draw_closer_floor_right (bitmap, p, em, vm); break; case STUCK_FLOOR: draw_pressed_closer_floor_right (bitmap, p, em, vm); break; case HIDDEN_FLOOR: return; case PILLAR: draw_pillar_right (bitmap, p, em, vm); break; case BIG_PILLAR_BOTTOM: draw_big_pillar_bottom_right (bitmap, p, em, vm); break; case BIG_PILLAR_TOP: draw_big_pillar_top_right (bitmap, p, em, vm); break; case WALL: draw_wall_right (bitmap, p, em, vm); break; case DOOR: draw_door_right (bitmap, p, em, vm); break; case LEVEL_DOOR: draw_level_door_right (bitmap, p, em, vm); break; case CHOPPER: draw_floor_right (bitmap, p, em, vm); break; case ARCH_BOTTOM: draw_floor_right (bitmap, p, em, vm); break; case ARCH_TOP_MID: return; case ARCH_TOP_SMALL: return; case ARCH_TOP_LEFT: return; case ARCH_TOP_RIGHT: return; case CARPET: draw_carpet_right (bitmap, p, FULL_WIDTH, em, vm); break; case TCARPET: draw_carpet_right (bitmap, p, FULL_WIDTH, em, vm); break; case MIRROR: draw_floor_right (bitmap, p, em, vm); break; default: assert (false); break; } }
void draw_door (ALLEGRO_BITMAP *bitmap, struct pos *p, enum em em, enum vm vm) { draw_floor_base (bitmap, p, em, vm); draw_door_left (bitmap, p, em, vm); draw_door_right (bitmap, p, em, vm); }
void draw_door_top (ALLEGRO_BITMAP *bitmap, struct pos *p, enum em em, enum vm vm) { set_target_bitmap (bitmap); al_set_clipping_rectangle (PLACE_WIDTH * (p->place + 1), PLACE_HEIGHT * p->floor - 12, 25, 15); draw_door_right (bitmap, p, em, vm); al_reset_clipping_rectangle (); }