ID:2138648
 
(See the best response by Kaiochao.)
Code:
mob
Login()
//All the usual stuff here
src.step_size = 8
src.loc = locate(4, 1, 1)

turf
test
//All the usual stuff here

mob
verb
walktoturf()
var/turf/t = new/turf/test(1, 1, 1)
walk_to(src, t, 0)


Problem description:
Since the mob has a step size of 8, it stops just outside of the turf inside of walking into the turfs center. Is it possible to make it continue walking until it is in the center of the turf?
Built-in pixel movement support is not great, so you'll have to do that yourself.

Assuming there are no obstacles in the way from the edge to the center: after reaching the edge of the destination turf, move towards the center of the turf.

If you do want to take obstacles into account, you'll have to basically rewrite pathfinding.
Would I be looking at increasing a mobs step_x and step_y? Because that's the only way I can think of moving the mob but it's kind of slow compared to walk_to.
In response to TheRainingLeaf
Best response
You can move by any number of whole pixels along the x and y axes using Move(loc, dir, step_x + MoveX, step_y + MoveY) (loc, dir, step_x, and step_y are all that of src, a movable atom).

You can calculate a difference in center positions using x, y, bound_x, bound_y, bound_width, bound_height, step_x, and step_y.

Or you can include my Absolute Positions library, which already has a bunch of useful procs to move by pixels (even subpixels) and get absolute position coordinates.
Okay I have had a try with your library as well as tried to get it to work by modifying bounds. They both work fine and do what I want but the rendering of tiles in isometric map format doesn't really work anymore when I modify bounds.

Like when the wall should render in front of mob it renders behind. I'll post a test project soon so you can see what I mean
Ah I got it working!

I was messing with the layers of the mob so it was throwing everything off when put in isometric mode.

Thanks for the help.