I'm pretty sure that ent_move and polygon-based collisions don't work well together. Use c_move instead.