Like I said, it was years ago. If I still have the patch, it's got to be on one of these spinning rust disks sitting in my closet. I'm on a trip so I really can't look for it now.
Assuming the client is still buggy (things like SDL2 have happened so who knows?), I'd probably look here first:
https://gitlab.com/manaplus/manaplus/blob/485e9bb12bf5dda318...
The logic won't run right if the timer is implemented with a sleep that ends up sleeping much longer than intended. If it works like it did back then (sleep is virtually always 20ms), simply incrementing the tick count by two every time should be enough to make it smooth on OpenBSD. Of course the correct fix is to keep track of actual time spent and adjust ticks accordingly. Or use a timer mechanism that has higher precision. IIRC setitimer[1] can get you a regular 100Hz alarm on OpenBSD.
http://man.openbsd.org/setitimer.2
If I'm not entirely mistaken, the old userspace implementation of pthreads worked with a 100Hz timer using this mechanism.