From ac08acd4b4029a2519c81eecf938e1c03b51233c Mon Sep 17 00:00:00 2001 From: Björn Steinbrink Date: Tue, 7 Feb 2006 10:37:54 +0000 Subject: Made the being directions being stored in a bitfield. --- src/net/protocol.cpp | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) (limited to 'src/net/protocol.cpp') diff --git a/src/net/protocol.cpp b/src/net/protocol.cpp index f31d4a39..d3db50bf 100644 --- a/src/net/protocol.cpp +++ b/src/net/protocol.cpp @@ -43,5 +43,37 @@ void set_coordinates(char *data, temp <<= 4; data[1] |= HIBYTE(temp); data[2] = LOBYTE(temp); + + // Translate direction to eAthena format + switch (direction) + { + case 1: + direction = 0; + break; + case 3: + direction = 1; + break; + case 2: + direction = 2; + break; + case 6: + direction = 3; + break; + case 4: + direction = 4; + break; + case 12: + direction = 5; + break; + case 8: + direction = 6; + break; + case 9: + direction = 7; + break; + default: + // OOPSIE! Impossible or unknown + direction = (unsigned char)-1; + } data[2] |= direction; } -- cgit v1.2.3-70-g09d2