Add mouse clicked decoder to 377 release.

This commit is contained in:
thispixel
2015-02-12 14:36:51 +00:00
parent 0cad0dedc5
commit 3606e44985
2 changed files with 34 additions and 1 deletions
@@ -0,0 +1,32 @@
package org.apollo.net.release.r377;
import org.apollo.game.message.impl.MouseClickedMessage;
import org.apollo.net.codec.game.DataType;
import org.apollo.net.codec.game.GamePacket;
import org.apollo.net.codec.game.GamePacketReader;
import org.apollo.net.release.MessageDecoder;
/**
* A {@link org.apollo.net.release.MessageDecoder} for the {@link org.apollo.game.message.impl.MouseClickedMessage}
*
* @author Stuart
*/
public final class MouseClickedMessageDecoder extends MessageDecoder<MouseClickedMessage> {
@Override
public MouseClickedMessage decode(GamePacket packet) {
GamePacketReader reader = new GamePacketReader(packet);
int value = (int)reader.getUnsigned(DataType.INT);
long delay = (value >> 20) * 50;
boolean rightMouseButton = ((value >> 19) & 0x1) == 1;
int cords = (value & 0x3FFFF);
int x = cords % 765;
int y = cords / 765;
return new MouseClickedMessage(delay, rightMouseButton, x, y);
}
}
@@ -128,7 +128,8 @@ public final class Release377 extends Release {
register(36, new MagicOnItemMessageDecoder());
register(187, new FocusUpdateMessageDecoder());
register(19, new FlaggedMouseEventMessageDecoder());
register(19, new MouseClickedMessageDecoder());
register(171, new FlaggedMouseEventMessageDecoder());
register(140, new ArrowKeyMessageDecoder());
register(176, new PrivacyOptionMessageDecoder());