ethanmoffat / EndlessClient

An open source client for Endless Online written in C#
MIT License
34 stars 16 forks source link

Introduced fixed update timer for characters #235

Closed ethanmoffat closed 1 year ago

ethanmoffat commented 1 year ago

Closes Issue #226

Characters, NPCs, and map updates for rendering purposes now happen on a fixed time step. This resolves flickering issues when the main character was walking at the same time as another character/NPC (see linked issue).

Additionally, adjusted timings for character/NPC animations so they look a little more accurate now. NPCs that move fast no longer jump around because they're still trying to animate the previous action when a new one comes in. Characters walk a little bit now because walk timings were a bit too slow previously.

Also refactored code that calculates draw position from grid units into a single service so it isn't scattered all over the place anymore.