switch(Ref.dir)
if(NORTH)
Ref.bound_x = initial(Ref.bound_x)
Ref.bound_width = initial(Ref.bound_width)
Ref.bound_y = world.icon_size - initial(Ref.bound_y)
Ref.bound_height = - (initial(Ref.bound_height))
return
if(EAST)
Ref.bound_x = initial(Ref.bound_x)
Ref.bound_width = initial(Ref.bound_height)
Ref.bound_y = initial(Ref.bound_y)
Ref.bound_height = initial(Ref.bound_width)
return
if(SOUTH)
// South moving objects will get their bounds reset to default values
Ref.bound_x = initial(Ref.bound_x)
Ref.bound_width = initial(Ref.bound_width)
Ref.bound_y = initial(Ref.bound_y)
Ref.bound_height = initial(Ref.bound_height)
return
if(WEST)
Ref.bound_x = world.icon_size - initial(Ref.bound_x)
Ref.bound_width = - initial(Ref.bound_height)
Ref.bound_y = initial(Ref.bound_y)
Ref.bound_height = -initial(Ref.bound_width)
return
Problem description:
Started this as a test run for my dynamic bounding boxes. When used on the player, the player can skip through things and the client eye jumps all over the place. Is there anything logically wrong with this?
It's a somewhat undocumented usage of the bounding data.
And yeah, for dynamic bounding boxes you are going to run into some problems with the eye positioning and collision. Unfortunately, changing bound data is somewhat... Well, buggy.