You should c_trace into the direction the player wants to walk before walking, and if there's something in the way, don't animate. it looks weird if you run into a wall and still the character runs his walk cycle, so his feet slide across the floor.
thanks for the advice
actually c_move returns the distance moved so you could use that value to stop a walk animation or start a turn around animation. c_trace is too expensive to use every frame like that. I like the stlye good work.
Optimism is an occupational hazard of programming: feedback is the treament. Kent Beck