diff options
author | Michieru <Michieru@users.noreply.github.com> | 2014-10-04 10:46:42 +0200 |
---|---|---|
committer | Michieru <Michieru@users.noreply.github.com> | 2014-10-04 10:46:42 +0200 |
commit | fc011576a21251bd1e78c5f5e1104673f8712020 (patch) | |
tree | 59fd741aa6078d032328df84cbc66d1c4d7307eb /src/map/unit.c | |
parent | c813ffe0ba08d3330397da4116b25bfe374a6116 (diff) | |
download | hercules-fc011576a21251bd1e78c5f5e1104673f8712020.tar.gz hercules-fc011576a21251bd1e78c5f5e1104673f8712020.tar.bz2 hercules-fc011576a21251bd1e78c5f5e1104673f8712020.tar.xz hercules-fc011576a21251bd1e78c5f5e1104673f8712020.zip |
Pathfinding now works exactly as on the client
- This should solve most of the position lag problems, especially ones that caused monsters to suddenly appear next to you (happened especially often when using icewall)
- Added a new heap implementation to db.h (POP2, PUSH2, SIFTUP, SIFTDOWN, UPDATE) that simulates the heap that the client uses, there was no other way to reproduce 100% exact behavior
- I recommend using the old heap implementation for everything else
- Updated path.c to use the new heap macros and also fixed the order in which the different possible directions are pushed into heap
- Special thanks to rversteegen for helping me with various tests and the heap implementation
- Special thanks to ultramage for providing info that helped us narrowing down the possible variables
Mega thanks to Playtester (rathena:c009b3f4a)
Diffstat (limited to 'src/map/unit.c')
0 files changed, 0 insertions, 0 deletions