I tried checking the vec_length of the vector (x_move * time_step, y_move * time_step, 0), because this should equal the distance variable the c_move returns as long as nothing is in the way. I could use this to identify when the player was in the air, and stuck/gliding on something. This didn't really work (just moving around would set it off), so still looking for a way to fix this.