ethanmoffat / EndlessClient

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

Improve rendering offset accuracy for all rendered entities #237

Closed ethanmoffat closed 1 year ago

ethanmoffat commented 1 year ago

Updates to rendering accuracy for all areas, including hard-coded NPC offset metadata. NPC offsets are attempted to be read from the RCData resources of the GFX file (gfx021.egf), if not found a hard-coded lookup table will be used, otherwise a default of zero will be used.

Also includes updates to character/map rendering offsets. Offset calculation is now highly consistent for all types of offsets (see GridDrawCoordinateCalculator), and represents a 1:1 accuracy with the original EO client.

Health bars/chat bubbles are drawn using the center axis of the NPC graphic now, which solves some issues with NPC graphics that are not centered (Reaper, Apozen).

Effect rendering is not fully accurate, but relies on the metadata to correctly center the effect on the target.

Partially implements #216