Lummox JR resolved issue (Not a bug)
On review, this is not a bug at all--not in 511. The old behavior was wrong, because pixel movement didn't take step_size into account when determining if a move was a jump or a slide.

This is the entirety of your code:

client
fps = 100

world
fps = 40
view = 13
loop_checks = 0
turf = /turf/Grass
icon_size = 64
cache_lifespan = 6
map_format = TOPDOWN_MAP

mob
icon = 'New Pale Male.dmi'
step_size = 1

New()
Thing()
..()

turf
Grass
icon = 'grass.dmi'

mob/proc
Thing()
set waitfor=0
sleep(10)
while(1)
step(src,dir,5)
sleep(world.tick_lag)

First, never ever set loop_checks=0, unless it's a temporary thing for debugging purposes. It should not be used as a crutch to avoid runtime complaints over a long-running loop, because what it will do instead is cause the server to hang if you get into an infinite loop.

The problem you're seeing with the movement is all because you set the mob's step_size to 1. This in turn tells the client that you're jumping, not gliding, when you move the mob by 5 pixels. The reason you see the movement state when you don't use the speed parameter in step() is that it's moving at the mob's default speed, which is step_size, and therefore that movement is interpreted as a glide.

The takeaway: Don't set your step_size lower than you actually want gliding to be. Also, don't set loop_checks to 0.
Page: 1 2