summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--GNUmakefile1
-rw-r--r--VC2008/MCServer.vcproj176
-rw-r--r--source/AllToLua.pkg1
-rw-r--r--source/Bindings.cpp64
-rw-r--r--source/Bindings.h2
-rw-r--r--source/PacketID.h71
-rw-r--r--source/Protocol.h4
-rw-r--r--source/Protocol125.cpp397
-rw-r--r--source/Protocol125.h26
-rw-r--r--source/cChunk.cpp8
-rw-r--r--source/cChunk.h9
-rw-r--r--source/cChunkMap.cpp8
-rw-r--r--source/cChunkMap.h4
-rw-r--r--source/cClientHandle.cpp8
-rw-r--r--source/cClientHandle.h9
-rw-r--r--source/cEntity.h1
-rw-r--r--source/cInventory.h2
-rw-r--r--source/cMonster.cpp4
-rw-r--r--source/cPickup.h1
-rw-r--r--source/cPlayer.cpp4
-rw-r--r--source/cPlugin.h7
-rw-r--r--source/cPlugin_Lua.h14
-rw-r--r--source/cServer.h1
-rw-r--r--source/cWorld.cpp8
-rw-r--r--source/cWorld.h4
-rw-r--r--source/packets/cPacket.cpp153
-rw-r--r--source/packets/cPacket.h80
-rw-r--r--source/packets/cPacket_13.cpp20
-rw-r--r--source/packets/cPacket_13.h34
-rw-r--r--source/packets/cPacket_ArmAnim.cpp20
-rw-r--r--source/packets/cPacket_ArmAnim.h30
-rw-r--r--source/packets/cPacket_BlockDig.cpp23
-rw-r--r--source/packets/cPacket_BlockDig.h37
-rw-r--r--source/packets/cPacket_BlockPlace.cpp31
-rw-r--r--source/packets/cPacket_BlockPlace.h38
-rw-r--r--source/packets/cPacket_Chat.cpp19
-rw-r--r--source/packets/cPacket_Chat.h24
-rw-r--r--source/packets/cPacket_CreativeInventoryAction.cpp40
-rw-r--r--source/packets/cPacket_CreativeInventoryAction.h32
-rw-r--r--source/packets/cPacket_Disconnect.cpp20
-rw-r--r--source/packets/cPacket_Disconnect.h25
-rw-r--r--source/packets/cPacket_Explosion.cpp52
-rw-r--r--source/packets/cPacket_Explosion.h40
-rw-r--r--source/packets/cPacket_Flying.cpp19
-rw-r--r--source/packets/cPacket_Flying.h27
-rw-r--r--source/packets/cPacket_Handshake.cpp19
-rw-r--r--source/packets/cPacket_Handshake.h23
-rw-r--r--source/packets/cPacket_ItemData.cpp90
-rw-r--r--source/packets/cPacket_ItemData.h34
-rw-r--r--source/packets/cPacket_ItemSwitch.cpp19
-rw-r--r--source/packets/cPacket_ItemSwitch.h25
-rw-r--r--source/packets/cPacket_KeepAlive.cpp19
-rw-r--r--source/packets/cPacket_KeepAlive.h24
-rw-r--r--source/packets/cPacket_Login.cpp34
-rw-r--r--source/packets/cPacket_Login.h41
-rw-r--r--source/packets/cPacket_MultiBlock.cpp49
-rw-r--r--source/packets/cPacket_MultiBlock.h43
-rw-r--r--source/packets/cPacket_Ping.h24
-rw-r--r--source/packets/cPacket_Player.cpp166
-rw-r--r--source/packets/cPacket_Player.h151
-rw-r--r--source/packets/cPacket_Respawn.cpp24
-rw-r--r--source/packets/cPacket_Respawn.h38
-rw-r--r--source/packets/cPacket_SoundEffect.cpp36
-rw-r--r--source/packets/cPacket_SoundEffect.h36
-rw-r--r--source/packets/cPacket_UpdateSign.cpp25
-rw-r--r--source/packets/cPacket_UpdateSign.h36
-rw-r--r--source/packets/cPacket_UseEntity.cpp21
-rw-r--r--source/packets/cPacket_UseEntity.h33
-rw-r--r--source/packets/cPacket_WindowClick.cpp33
-rw-r--r--source/packets/cPacket_WindowClick.h39
-rw-r--r--source/packets/cPacket_WindowClose.cpp19
-rw-r--r--source/packets/cPacket_WindowClose.h28
72 files changed, 297 insertions, 2430 deletions
diff --git a/GNUmakefile b/GNUmakefile
index f398f5506..7db43d74c 100644
--- a/GNUmakefile
+++ b/GNUmakefile
@@ -89,7 +89,6 @@ INCLUDE = -I.\
-Isource\
-Isource/md5\
-IWebServer\
- -Isource/packets\
-Isource/items\
-Isource/blocks\
-Itolua++-1.0.93/src/lib\
diff --git a/VC2008/MCServer.vcproj b/VC2008/MCServer.vcproj
index 87d6df320..74dc07322 100644
--- a/VC2008/MCServer.vcproj
+++ b/VC2008/MCServer.vcproj
@@ -757,182 +757,6 @@
>
</File>
<Filter
- Name="Packets"
- >
- <File
- RelativePath="..\source\packets\cPacket.cpp"
- >
- </File>
- <File
- RelativePath="..\source\packets\cPacket.h"
- >
- </File>
- <File
- RelativePath="..\source\packets\cPacket_13.cpp"
- >
- </File>
- <File
- RelativePath="..\source\packets\cPacket_13.h"
- >
- </File>
- <File
- RelativePath="..\source\packets\cPacket_ArmAnim.cpp"
- >
- </File>
- <File
- RelativePath="..\source\packets\cPacket_ArmAnim.h"
- >
- </File>
- <File
- RelativePath="..\source\packets\cPacket_BlockDig.cpp"
- >
- </File>
- <File
- RelativePath="..\source\packets\cPacket_BlockDig.h"
- >
- </File>
- <File
- RelativePath="..\source\packets\cPacket_BlockPlace.cpp"
- >
- </File>
- <File
- RelativePath="..\source\packets\cPacket_BlockPlace.h"
- >
- </File>
- <File
- RelativePath="..\source\packets\cPacket_Chat.cpp"
- >
- </File>
- <File
- RelativePath="..\source\packets\cPacket_Chat.h"
- >
- </File>
- <File
- RelativePath="..\source\packets\cPacket_CreativeInventoryAction.cpp"
- >
- </File>
- <File
- RelativePath="..\source\packets\cPacket_CreativeInventoryAction.h"
- >
- </File>
- <File
- RelativePath="..\source\packets\cPacket_Disconnect.cpp"
- >
- </File>
- <File
- RelativePath="..\source\packets\cPacket_Disconnect.h"
- >
- </File>
- <File
- RelativePath="..\source\packets\cPacket_Explosion.cpp"
- >
- </File>
- <File
- RelativePath="..\source\packets\cPacket_Explosion.h"
- >
- </File>
- <File
- RelativePath="..\source\packets\cPacket_Flying.cpp"
- >
- </File>
- <File
- RelativePath="..\source\packets\cPacket_Flying.h"
- >
- </File>
- <File
- RelativePath="..\source\packets\cPacket_Handshake.cpp"
- >
- </File>
- <File
- RelativePath="..\source\packets\cPacket_Handshake.h"
- >
- </File>
- <File
- RelativePath="..\source\packets\cPacket_ItemData.cpp"
- >
- </File>
- <File
- RelativePath="..\source\packets\cPacket_ItemData.h"
- >
- </File>
- <File
- RelativePath="..\source\packets\cPacket_ItemSwitch.cpp"
- >
- </File>
- <File
- RelativePath="..\source\packets\cPacket_ItemSwitch.h"
- >
- </File>
- <File
- RelativePath="..\source\packets\cPacket_KeepAlive.cpp"
- >
- </File>
- <File
- RelativePath="..\source\packets\cPacket_KeepAlive.h"
- >
- </File>
- <File
- RelativePath="..\source\packets\cPacket_Login.cpp"
- >
- </File>
- <File
- RelativePath="..\source\packets\cPacket_Login.h"
- >
- </File>
- <File
- RelativePath="..\source\packets\cPacket_Ping.h"
- >
- </File>
- <File
- RelativePath="..\source\packets\cPacket_Player.cpp"
- >
- </File>
- <File
- RelativePath="..\source\packets\cPacket_Player.h"
- >
- </File>
- <File
- RelativePath="..\source\packets\cPacket_Respawn.cpp"
- >
- </File>
- <File
- RelativePath="..\source\packets\cPacket_Respawn.h"
- >
- </File>
- <File
- RelativePath="..\source\packets\cPacket_UpdateSign.cpp"
- >
- </File>
- <File
- RelativePath="..\source\packets\cPacket_UpdateSign.h"
- >
- </File>
- <File
- RelativePath="..\source\packets\cPacket_UseEntity.cpp"
- >
- </File>
- <File
- RelativePath="..\source\packets\cPacket_UseEntity.h"
- >
- </File>
- <File
- RelativePath="..\source\packets\cPacket_WindowClick.cpp"
- >
- </File>
- <File
- RelativePath="..\source\packets\cPacket_WindowClick.h"
- >
- </File>
- <File
- RelativePath="..\source\packets\cPacket_WindowClose.cpp"
- >
- </File>
- <File
- RelativePath="..\source\packets\cPacket_WindowClose.h"
- >
- </File>
- </Filter>
- <Filter
Name="Mobs"
>
<File
diff --git a/source/AllToLua.pkg b/source/AllToLua.pkg
index 7a81ff919..71d9cecb5 100644
--- a/source/AllToLua.pkg
+++ b/source/AllToLua.pkg
@@ -13,7 +13,6 @@ $cfile "cVine.h"
$cfile "../iniFile/iniFile.h"
$cfile "BlockID.h"
-$cfile "PacketID.h"
$cfile "Defines.h"
$cfile "LuaFunctions.h"
$cfile "cStringMap.h"
diff --git a/source/Bindings.cpp b/source/Bindings.cpp
index 9b356ab5f..0e5803dd6 100644
--- a/source/Bindings.cpp
+++ b/source/Bindings.cpp
@@ -1,6 +1,6 @@
/*
** Lua binding: AllToLua
-** Generated automatically by tolua++-1.0.92 on 08/27/12 16:12:30.
+** Generated automatically by tolua++-1.0.92 on 08/29/12 22:33:21.
*/
#ifndef __cplusplus
@@ -22,7 +22,6 @@ TOLUA_API int tolua_AllToLua_open (lua_State* tolua_S);
#include "cVine.h"
#include "../iniFile/iniFile.h"
#include "BlockID.h"
-#include "PacketID.h"
#include "Defines.h"
#include "LuaFunctions.h"
#include "cStringMap.h"
@@ -6650,9 +6649,9 @@ static int tolua_AllToLua_cPlayer_TossItem00(lua_State* tolua_S)
{
cPlayer* self = (cPlayer*) tolua_tousertype(tolua_S,1,0);
bool a_bDraggingItem = ((bool) tolua_toboolean(tolua_S,2,0));
- int a_Amount = ((int) tolua_tonumber(tolua_S,3,1));
- int a_CreateType = ((int) tolua_tonumber(tolua_S,4,0));
- int a_CreateHealth = ((int) tolua_tonumber(tolua_S,5,0));
+ char a_Amount = ((char) tolua_tonumber(tolua_S,3,1));
+ short a_CreateType = ((short) tolua_tonumber(tolua_S,4,0));
+ short a_CreateHealth = ((short) tolua_tonumber(tolua_S,5,0));
#ifndef TOLUA_RELEASE
if (!self) tolua_error(tolua_S,"invalid 'self' in function 'TossItem'", NULL);
#endif
@@ -21100,61 +21099,6 @@ TOLUA_API int tolua_AllToLua_open (lua_State* tolua_S)
tolua_constant(tolua_S,"E_META_SPAWN_EGG_IRON_GOLEM",E_META_SPAWN_EGG_IRON_GOLEM);
tolua_function(tolua_S,"BlockStringToType",tolua_AllToLua_BlockStringToType00);
tolua_function(tolua_S,"StringToItem",tolua_AllToLua_StringToItem00);
- tolua_constant(tolua_S,"E_KEEP_ALIVE",E_KEEP_ALIVE);
- tolua_constant(tolua_S,"E_LOGIN",E_LOGIN);
- tolua_constant(tolua_S,"E_HANDSHAKE",E_HANDSHAKE);
- tolua_constant(tolua_S,"E_CHAT",E_CHAT);
- tolua_constant(tolua_S,"E_UPDATE_TIME",E_UPDATE_TIME);
- tolua_constant(tolua_S,"E_ENTITY_EQUIPMENT",E_ENTITY_EQUIPMENT);
- tolua_constant(tolua_S,"E_USE_ENTITY",E_USE_ENTITY);
- tolua_constant(tolua_S,"E_UPDATE_HEALTH",E_UPDATE_HEALTH);
- tolua_constant(tolua_S,"E_RESPAWN",E_RESPAWN);
- tolua_constant(tolua_S,"E_FLYING",E_FLYING);
- tolua_constant(tolua_S,"E_PLAYERPOS",E_PLAYERPOS);
- tolua_constant(tolua_S,"E_PLAYERLOOK",E_PLAYERLOOK);
- tolua_constant(tolua_S,"E_PLAYERMOVELOOK",E_PLAYERMOVELOOK);
- tolua_constant(tolua_S,"E_BLOCK_DIG",E_BLOCK_DIG);
- tolua_constant(tolua_S,"E_BLOCK_PLACE",E_BLOCK_PLACE);
- tolua_constant(tolua_S,"E_SLOT_SELECTED",E_SLOT_SELECTED);
- tolua_constant(tolua_S,"E_ITEM_SWITCH",E_ITEM_SWITCH);
- tolua_constant(tolua_S,"E_ADD_TO_INV",E_ADD_TO_INV);
- tolua_constant(tolua_S,"E_ANIMATION",E_ANIMATION);
- tolua_constant(tolua_S,"E_PACKET_ENTITY_ACTION",E_PACKET_ENTITY_ACTION);
- tolua_constant(tolua_S,"E_NAMED_ENTITY_SPAWN",E_NAMED_ENTITY_SPAWN);
- tolua_constant(tolua_S,"E_PICKUP_SPAWN",E_PICKUP_SPAWN);
- tolua_constant(tolua_S,"E_COLLECT_ITEM",E_COLLECT_ITEM);
- tolua_constant(tolua_S,"E_ADD_VEHICLE",E_ADD_VEHICLE);
- tolua_constant(tolua_S,"E_SPAWN_MOB",E_SPAWN_MOB);
- tolua_constant(tolua_S,"E_DESTROY_ENT",E_DESTROY_ENT);
- tolua_constant(tolua_S,"E_ENTITY",E_ENTITY);
- tolua_constant(tolua_S,"E_REL_ENT_MOVE",E_REL_ENT_MOVE);
- tolua_constant(tolua_S,"E_ENT_LOOK",E_ENT_LOOK);
- tolua_constant(tolua_S,"E_REL_ENT_MOVE_LOOK",E_REL_ENT_MOVE_LOOK);
- tolua_constant(tolua_S,"E_ENT_TELEPORT",E_ENT_TELEPORT);
- tolua_constant(tolua_S,"E_ENT_HEAD_LOOK",E_ENT_HEAD_LOOK);
- tolua_constant(tolua_S,"E_ENT_STATUS",E_ENT_STATUS);
- tolua_constant(tolua_S,"E_METADATA",E_METADATA);
- tolua_constant(tolua_S,"E_PRE_CHUNK",E_PRE_CHUNK);
- tolua_constant(tolua_S,"E_MAP_CHUNK",E_MAP_CHUNK);
- tolua_constant(tolua_S,"E_MULTI_BLOCK",E_MULTI_BLOCK);
- tolua_constant(tolua_S,"E_BLOCK_CHANGE",E_BLOCK_CHANGE);
- tolua_constant(tolua_S,"E_BLOCK_ACTION",E_BLOCK_ACTION);
- tolua_constant(tolua_S,"E_EXPLOSION",E_EXPLOSION);
- tolua_constant(tolua_S,"E_SOUND_EFFECT",E_SOUND_EFFECT);
- tolua_constant(tolua_S,"E_NEW_INVALID_STATE",E_NEW_INVALID_STATE);
- tolua_constant(tolua_S,"E_THUNDERBOLT",E_THUNDERBOLT);
- tolua_constant(tolua_S,"E_WINDOW_OPEN",E_WINDOW_OPEN);
- tolua_constant(tolua_S,"E_WINDOW_CLOSE",E_WINDOW_CLOSE);
- tolua_constant(tolua_S,"E_WINDOW_CLICK",E_WINDOW_CLICK);
- tolua_constant(tolua_S,"E_INVENTORY_SLOT",E_INVENTORY_SLOT);
- tolua_constant(tolua_S,"E_INVENTORY_WHOLE",E_INVENTORY_WHOLE);
- tolua_constant(tolua_S,"E_INVENTORY_PROGRESS",E_INVENTORY_PROGRESS);
- tolua_constant(tolua_S,"E_CREATIVE_INVENTORY_ACTION",E_CREATIVE_INVENTORY_ACTION);
- tolua_constant(tolua_S,"E_UPDATE_SIGN",E_UPDATE_SIGN);
- tolua_constant(tolua_S,"E_PLAYER_LIST_ITEM",E_PLAYER_LIST_ITEM);
- tolua_constant(tolua_S,"E_PLAYER_ABILITIES",E_PLAYER_ABILITIES);
- tolua_constant(tolua_S,"E_PING",E_PING);
- tolua_constant(tolua_S,"E_DISCONNECT",E_DISCONNECT);
tolua_array(tolua_S,"g_BlockLightValue",tolua_get_AllToLua_g_BlockLightValue,tolua_set_AllToLua_g_BlockLightValue);
tolua_array(tolua_S,"g_BlockSpreadLightFalloff",tolua_get_AllToLua_g_BlockSpreadLightFalloff,tolua_set_AllToLua_g_BlockSpreadLightFalloff);
tolua_array(tolua_S,"g_BlockTransparent",tolua_get_AllToLua_g_BlockTransparent,tolua_set_AllToLua_g_BlockTransparent);
diff --git a/source/Bindings.h b/source/Bindings.h
index 39946bd56..fe7089222 100644
--- a/source/Bindings.h
+++ b/source/Bindings.h
@@ -1,6 +1,6 @@
/*
** Lua binding: AllToLua
-** Generated automatically by tolua++-1.0.92 on 08/27/12 16:12:30.
+** Generated automatically by tolua++-1.0.92 on 08/29/12 22:33:21.
*/
/* Exported function */
diff --git a/source/PacketID.h b/source/PacketID.h
deleted file mode 100644
index 3167d04a8..000000000
--- a/source/PacketID.h
+++ /dev/null
@@ -1,71 +0,0 @@
-
-#pragma once
-
-
-
-
-
-//tolua_begin
-enum ENUM_PACKET_ID
-{
- E_KEEP_ALIVE = 0x00,
- E_LOGIN = 0x01,
- E_HANDSHAKE = 0x02,
- E_CHAT = 0x03,
- E_UPDATE_TIME = 0x04,
- E_ENTITY_EQUIPMENT = 0x05,
- E_USE_ENTITY = 0x07,
- E_UPDATE_HEALTH = 0x08,
- E_RESPAWN = 0x09,
- E_FLYING = 0x0a,
- E_PLAYERPOS = 0x0b,
- E_PLAYERLOOK = 0x0c,
- E_PLAYERMOVELOOK = 0x0d,
- E_BLOCK_DIG = 0x0e,
- E_BLOCK_PLACE = 0x0f,
- E_SLOT_SELECTED = 0x10,
- E_ITEM_SWITCH = 0x10, // OBSOLETE, use E_SLOT_SELECTED instead
- E_ADD_TO_INV = 0x11, // TODO: Sure this is not Use Bed??
- E_ANIMATION = 0x12,
- E_PACKET_ENTITY_ACTION = 0x13,
- E_NAMED_ENTITY_SPAWN = 0x14,
- E_PICKUP_SPAWN = 0x15,
- E_COLLECT_ITEM = 0x16,
- E_ADD_VEHICLE = 0x17,
- E_SPAWN_MOB = 0x18,
- E_DESTROY_ENT = 0x1d,
- E_ENTITY = 0x1e,
- E_REL_ENT_MOVE = 0x1f,
- E_ENT_LOOK = 0x20,
- E_REL_ENT_MOVE_LOOK = 0x21,
- E_ENT_TELEPORT = 0x22,
- E_ENT_HEAD_LOOK = 0x23,
- E_ENT_STATUS = 0x26,
- E_METADATA = 0x28,
- E_PRE_CHUNK = 0x32,
- E_MAP_CHUNK = 0x33,
- E_MULTI_BLOCK = 0x34,
- E_BLOCK_CHANGE = 0x35,
- E_BLOCK_ACTION = 0x36,
- E_EXPLOSION = 0x3C,
- E_SOUND_EFFECT = 0x3D,
- E_NEW_INVALID_STATE = 0x46,
- E_THUNDERBOLT = 0x47,
- E_WINDOW_OPEN = 0x64,
- E_WINDOW_CLOSE = 0x65,
- E_WINDOW_CLICK = 0x66,
- E_INVENTORY_SLOT = 0x67,
- E_INVENTORY_WHOLE = 0x68,
- E_INVENTORY_PROGRESS = 0x69,
- E_CREATIVE_INVENTORY_ACTION = 0x6B,
- E_UPDATE_SIGN = 0x82,
- E_PLAYER_LIST_ITEM = 0xC9,
- E_PLAYER_ABILITIES = 0xca, // since 1.2.4, protocol version 29
- E_PING = 0xfe,
- E_DISCONNECT = 0xff
-} ;
-//tolua_end
-
-
-
-
diff --git a/source/Protocol.h b/source/Protocol.h
index ee0ccddfd..1b313ce09 100644
--- a/source/Protocol.h
+++ b/source/Protocol.h
@@ -53,6 +53,8 @@ public:
virtual void SendEntLook (const cEntity & a_Entity) = 0;
virtual void SendEntityEquipment (const cEntity & a_Entity, short a_SlotNum, const cItem & a_Item) = 0;
virtual void SendEntityStatus (const cEntity & a_Entity, char a_Status) = 0;
+ virtual void SendEntRelMove (const cEntity & a_Entity, char a_RelX, char a_RelY, char a_RelZ) = 0;
+ virtual void SendEntRelMoveLook (const cEntity & a_Entity, char a_RelX, char a_RelY, char a_RelZ) = 0;
virtual void SendGameMode (eGameMode a_GameMode) = 0;
virtual void SendHandshake (const AString & a_ServerName) = 0;
virtual void SendHealth (void) = 0;
@@ -67,8 +69,6 @@ public:
virtual void SendPlayerMoveLook (void) = 0;
virtual void SendPlayerPosition (void) = 0;
virtual void SendPlayerSpawn (const cPlayer & a_Player) = 0;
- virtual void SendRelEntMove (const cEntity & a_Entity, char a_RelX, char a_RelY, char a_RelZ) = 0;
- virtual void SendRelEntMoveLook (const cEntity & a_Entity, char a_RelX, char a_RelY, char a_RelZ) = 0;
virtual void SendRespawn (void) = 0;
virtual void SendSpawnMob (const cMonster & a_Mob) = 0;
virtual void SendTeleportEntity (const cEntity & a_Entity) = 0;
diff --git a/source/Protocol125.cpp b/source/Protocol125.cpp
index 5b16e5728..d9faefb77 100644
--- a/source/Protocol125.cpp
+++ b/source/Protocol125.cpp
@@ -7,27 +7,6 @@
#include "Protocol125.h"
-#include "packets/cPacket.h"
-#include "packets/cPacket_13.h"
-#include "packets/cPacket_ArmAnim.h"
-#include "packets/cPacket_BlockDig.h"
-#include "packets/cPacket_BlockPlace.h"
-#include "packets/cPacket_Chat.h"
-#include "packets/cPacket_CreativeInventoryAction.h"
-#include "packets/cPacket_Disconnect.h"
-#include "packets/cPacket_Flying.h"
-#include "packets/cPacket_Handshake.h"
-#include "packets/cPacket_ItemSwitch.h"
-#include "packets/cPacket_KeepAlive.h"
-#include "packets/cPacket_Login.h"
-#include "packets/cPacket_Ping.h"
-#include "packets/cPacket_Player.h"
-#include "packets/cPacket_Respawn.h"
-#include "packets/cPacket_UpdateSign.h"
-#include "packets/cPacket_UseEntity.h"
-#include "packets/cPacket_WindowClick.h"
-#include "packets/cPacket_WindowClose.h"
-
#include "cClientHandle.h"
#include "ChunkDataSerializer.h"
#include "cEntity.h"
@@ -52,10 +31,10 @@ enum
PACKET_USE_ENTITY = 0x07,
PACKET_UPDATE_HEALTH = 0x08,
PACKET_RESPAWN = 0x09,
- PACKET_FLYING = 0x0a,
- PACKET_PLAYERPOS = 0x0b,
- PACKET_PLAYERLOOK = 0x0c,
- PACKET_PLAYERMOVELOOK = 0x0d,
+ PACKET_PLAYER_ON_GROUND = 0x0a,
+ PACKET_PLAYER_POS = 0x0b,
+ PACKET_PLAYER_LOOK = 0x0c,
+ PACKET_PLAYER_MOVE_LOOK = 0x0d,
PACKET_BLOCK_DIG = 0x0e,
PACKET_BLOCK_PLACE = 0x0f,
PACKET_SLOT_SELECTED = 0x10,
@@ -69,9 +48,9 @@ enum
PACKET_SPAWN_MOB = 0x18,
PACKET_DESTROY_ENTITY = 0x1d,
PACKET_ENTITY = 0x1e,
- PACKET_REL_ENT_MOVE = 0x1f,
+ PACKET_ENT_REL_MOVE = 0x1f,
PACKET_ENT_LOOK = 0x20,
- PACKET_REL_ENT_MOVE_LOOK = 0x21,
+ PACKET_ENT_REL_MOVE_LOOK = 0x21,
PACKET_ENT_TELEPORT = 0x22,
PACKET_ENT_HEAD_LOOK = 0x23,
PACKET_ENT_STATUS = 0x26,
@@ -103,6 +82,24 @@ enum
+#define HANDLE_PACKET_READ(Proc, Type, Var) \
+ Type Var; \
+ { \
+ if (!m_ReceivedData.Proc(Var)) \
+ { \
+ return PARSE_INCOMPLETE; \
+ } \
+ }
+
+
+
+
+typedef unsigned char Byte;
+
+
+
+
+
cProtocol125::cProtocol125(cClientHandle * a_Client) :
super(a_Client),
m_ReceivedData(64 KiB)
@@ -384,7 +381,7 @@ void cProtocol125::SendLogin(const cPlayer & a_Player)
{
cCSLock Lock(m_CSPacket);
- WriteByte (E_LOGIN);
+ WriteByte (PACKET_LOGIN);
WriteInt (a_Player.GetUniqueID()); // EntityID of the player
WriteString(""); // Username, not used
WriteString("DEFAULT"); // Level type
@@ -480,7 +477,7 @@ void cProtocol125::SendPlayerMoveLook(void)
);
*/
- WriteByte (PACKET_PLAYERMOVELOOK);
+ WriteByte (PACKET_PLAYER_MOVE_LOOK);
cPlayer * Player = m_Client->GetPlayer();
WriteDouble(Player->GetPosX());
WriteDouble(Player->GetStance() + 0.03); // Add a small amount so that the player doesn't start inside a block
@@ -526,12 +523,12 @@ void cProtocol125::SendPlayerSpawn(const cPlayer & a_Player)
-void cProtocol125::SendRelEntMove(const cEntity & a_Entity, char a_RelX, char a_RelY, char a_RelZ)
+void cProtocol125::SendEntRelMove(const cEntity & a_Entity, char a_RelX, char a_RelY, char a_RelZ)
{
ASSERT(a_Entity.GetUniqueID() != m_Client->GetPlayer()->GetUniqueID()); // Must not send for self
cCSLock Lock(m_CSPacket);
- WriteByte(PACKET_REL_ENT_MOVE);
+ WriteByte(PACKET_ENT_REL_MOVE);
WriteInt (a_Entity.GetUniqueID());
WriteByte(a_RelX);
WriteByte(a_RelY);
@@ -543,12 +540,12 @@ void cProtocol125::SendRelEntMove(const cEntity & a_Entity, char a_RelX, char a_
-void cProtocol125::SendRelEntMoveLook(const cEntity & a_Entity, char a_RelX, char a_RelY, char a_RelZ)
+void cProtocol125::SendEntRelMoveLook(const cEntity & a_Entity, char a_RelX, char a_RelY, char a_RelZ)
{
ASSERT(a_Entity.GetUniqueID() != m_Client->GetPlayer()->GetUniqueID()); // Must not send for self
cCSLock Lock(m_CSPacket);
- WriteByte(PACKET_REL_ENT_MOVE_LOOK);
+ WriteByte(PACKET_ENT_REL_MOVE_LOOK);
WriteInt (a_Entity.GetUniqueID());
WriteByte(a_RelX);
WriteByte(a_RelY);
@@ -779,19 +776,19 @@ void cProtocol125::DataReceived(const char * a_Data, int a_Size)
m_ReceivedData.ReadByte(PacketType);
switch (ParsePacket(PacketType))
{
- case PACKET_UNKNOWN:
+ case PARSE_UNKNOWN:
{
// An unknown packet has been received, notify the client and abort:
m_Client->PacketUnknown(PacketType);
return;
}
- case PACKET_ERROR:
+ case PARSE_ERROR:
{
// An error occurred while parsing a known packet, notify the client and abort:
m_Client->PacketError(PacketType);
return;
}
- case PACKET_INCOMPLETE:
+ case PARSE_INCOMPLETE:
{
// Incomplete packet, bail out and process with the next batch of data
m_ReceivedData.ResetRead();
@@ -815,23 +812,23 @@ int cProtocol125::ParsePacket(unsigned char a_PacketType)
{
switch (a_PacketType)
{
- default: return PACKET_UNKNOWN;
+ default: return PARSE_UNKNOWN;
case PACKET_ANIMATION: return ParseArmAnim();
case PACKET_BLOCK_DIG: return ParseBlockDig();
case PACKET_BLOCK_PLACE: return ParseBlockPlace();
case PACKET_CHAT: return ParseChat();
case PACKET_CREATIVE_INVENTORY_ACTION: return ParseCreativeInventoryAction();
case PACKET_DISCONNECT: return ParseDisconnect();
- case PACKET_FLYING: return ParseFlying();
case PACKET_HANDSHAKE: return ParseHandshake();
case PACKET_KEEP_ALIVE: return ParseKeepAlive();
case PACKET_LOGIN: return ParseLogin();
case PACKET_PACKET_ENTITY_ACTION: return ParseEntityAction();
case PACKET_PING: return ParsePing();
- case PACKET_PLAYERLOOK: return ParsePlayerLook();
- case PACKET_PLAYERMOVELOOK: return ParsePlayerMoveLook();
- case PACKET_PLAYERPOS: return ParsePlayerPosition();
case PACKET_PLAYER_ABILITIES: return ParsePlayerAbilities();
+ case PACKET_PLAYER_LOOK: return ParsePlayerLook();
+ case PACKET_PLAYER_MOVE_LOOK: return ParsePlayerMoveLook();
+ case PACKET_PLAYER_ON_GROUND: return ParsePlayerOnGround();
+ case PACKET_PLAYER_POS: return ParsePlayerPosition();
case PACKET_RESPAWN: return ParseRespawn();
case PACKET_SLOT_SELECTED: return ParseSlotSelected();
case PACKET_UPDATE_SIGN: return ParseUpdateSign();
@@ -858,277 +855,320 @@ int cProtocol125::ParsePacket(unsigned char a_PacketType)
-int cProtocol125::ParseKeepAlive(void)
+int cProtocol125::ParseArmAnim(void)
{
- cPacket_KeepAlive KeepAlive;
- HANDLE_PACKET_PARSE(KeepAlive);
- m_Client->HandleKeepAlive(KeepAlive.m_KeepAliveID);
- return PACKET_OK;
+ HANDLE_PACKET_READ(ReadBEInt, int, EntityID);
+ HANDLE_PACKET_READ(ReadChar, char, Animation);
+ m_Client->HandleAnimation(Animation);
+ return PARSE_OK;
}
-int cProtocol125::ParseHandshake(void)
+int cProtocol125::ParseBlockDig(void)
{
- cPacket_Handshake Handshake;
- HANDLE_PACKET_PARSE(Handshake);
- m_Client->HandleHandshake(Handshake.m_Username);
- return PACKET_OK;
+ HANDLE_PACKET_READ(ReadChar, char, Status);
+ HANDLE_PACKET_READ(ReadBEInt, int, PosX);
+ HANDLE_PACKET_READ(ReadByte, Byte, PosY);
+ HANDLE_PACKET_READ(ReadBEInt, int, PosZ);
+ HANDLE_PACKET_READ(ReadChar, char, Direction);
+ m_Client->HandleBlockDig(PosX, PosY, PosZ, Direction, Status);
+ return PARSE_OK;
}
-int cProtocol125::ParseLogin(void)
+int cProtocol125::ParseBlockPlace(void)
{
- cPacket_Login Login;
- HANDLE_PACKET_PARSE(Login);
- m_Client->HandleLogin(Login.m_ProtocolVersion, Login.m_Username);
- return PACKET_OK;
+ HANDLE_PACKET_READ(ReadBEInt, int, PosX);
+ HANDLE_PACKET_READ(ReadByte, Byte, PosY);
+ HANDLE_PACKET_READ(ReadBEInt, int, PosZ);
+ HANDLE_PACKET_READ(ReadChar, char, Direction);
+
+ cItem HeldItem;
+ int res = ParseItem(HeldItem);
+ if (res < 0)
+ {
+ return res;
+ }
+
+ m_Client->HandleBlockPlace(PosX, PosY, PosZ, Direction, HeldItem);
+ return PARSE_OK;
}
-int cProtocol125::ParsePlayerPosition(void)
+int cProtocol125::ParseChat(void)
{
- cPacket_PlayerPosition pp;
- HANDLE_PACKET_PARSE(pp);
- m_Client->HandlePlayerPos(pp.m_PosX, pp.m_PosY, pp.m_PosZ, pp.m_Stance, pp.m_IsOnGround);
- return PACKET_OK;
+ HANDLE_PACKET_READ(ReadBEUTF16String16, AString, Message);
+ m_Client->HandleChat(Message);
+ return PARSE_OK;
}
-int cProtocol125::ParsePlayerLook(void)
+int cProtocol125::ParseCreativeInventoryAction(void)
{
- cPacket_PlayerLook pl;
- HANDLE_PACKET_PARSE(pl);
- m_Client->HandlePlayerLook(pl.m_Rotation, pl.m_Pitch, pl.m_IsOnGround);
- return PACKET_OK;
+ HANDLE_PACKET_READ(ReadBEShort, short, SlotNum);
+ cItem HeldItem;
+ int res = ParseItem(HeldItem);
+ if (res < 0)
+ {
+ return res;
+ }
+ m_Client->HandleCreativeInventory(SlotNum, HeldItem);
+ return PARSE_OK;
}
-int cProtocol125::ParsePlayerMoveLook(void)
+int cProtocol125::ParseDisconnect(void)
{
- cPacket_PlayerMoveLook pml;
- HANDLE_PACKET_PARSE(pml);
- m_Client->HandlePlayerMoveLook(pml.m_PosX, pml.m_PosY, pml.m_PosZ, pml.m_Stance, pml.m_Rotation, pml.m_Pitch, pml.m_IsOnGround);
- return PACKET_OK;
+ HANDLE_PACKET_READ(ReadBEUTF16String16, AString, Reason);
+ m_Client->HandleDisconnect(Reason);
+ return PARSE_OK;
}
-int cProtocol125::ParsePlayerAbilities(void)
+int cProtocol125::ParseEntityAction(void)
{
- cPacket_PlayerAbilities pa;
- HANDLE_PACKET_PARSE(pa);
- // TODO: m_Client->HandlePlayerAbilities(...);
- return PACKET_OK;
+ HANDLE_PACKET_READ(ReadBEInt, int, EntityID);
+ HANDLE_PACKET_READ(ReadChar, char, ActionID);
+ // TODO: m_Client->HandleEntityAction(...);
+ return PARSE_OK;
}
-int cProtocol125::ParseChat(void)
+int cProtocol125::ParseHandshake(void)
{
- cPacket_Chat ch;
- HANDLE_PACKET_PARSE(ch);
- m_Client->HandleChat(ch.m_Message);
- return PACKET_OK;
+ HANDLE_PACKET_READ(ReadBEUTF16String16, AString, Username);
+ m_Client->HandleHandshake(Username);
+ return PARSE_OK;
}
-int cProtocol125::ParseArmAnim(void)
+int cProtocol125::ParseKeepAlive(void)
{
- cPacket_ArmAnim aa;
- HANDLE_PACKET_PARSE(aa);
- m_Client->HandleAnimation(aa.m_Animation);
- return PACKET_OK;
+ HANDLE_PACKET_READ(ReadBEInt, int, KeepAliveID);
+ m_Client->HandleKeepAlive(KeepAliveID);
+ return PARSE_OK;
}
-int cProtocol125::ParseFlying(void)
+int cProtocol125::ParseLogin(void)
{
- cPacket_Flying fl;
- HANDLE_PACKET_PARSE(fl);
- // TODO: m_Client->HandleFlying(fl.m_bFlying);
- return PACKET_OK;
+ HANDLE_PACKET_READ(ReadBEInt, int, ProtocolVersion);
+ HANDLE_PACKET_READ(ReadBEUTF16String16, AString, Username);
+ HANDLE_PACKET_READ(ReadBEUTF16String16, AString, LevelType);
+ HANDLE_PACKET_READ(ReadBEInt, int, ServerMode);
+ HANDLE_PACKET_READ(ReadBEInt, int, Dimension);
+ HANDLE_PACKET_READ(ReadChar, char, Difficulty);
+ HANDLE_PACKET_READ(ReadByte, Byte, WorldHeight);
+ HANDLE_PACKET_READ(ReadByte, Byte, MaxPlayers);
+ m_Client->HandleLogin(ProtocolVersion, Username);
+ return PARSE_OK;
}
-int cProtocol125::ParseBlockDig(void)
+int cProtocol125::ParsePing(void)
{
- cPacket_BlockDig bd;
- HANDLE_PACKET_PARSE(bd);
- m_Client->HandleBlockDig(bd.m_PosX, bd.m_PosY, bd.m_PosZ, bd.m_Direction, bd.m_Status);
- return PACKET_OK;
+ // Packet has no more data
+ m_Client->HandlePing();
+ return PARSE_OK;
}
-int cProtocol125::ParseBlockPlace(void)
+
+int cProtocol125::ParsePlayerAbilities(void)
{
- cPacket_BlockPlace bp;
- HANDLE_PACKET_PARSE(bp);
- m_Client->HandleBlockPlace(bp.m_PosX, bp.m_PosY, bp.m_PosZ, bp.m_Direction, bp.m_HeldItem);
- return PACKET_OK;
+ HANDLE_PACKET_READ(ReadBool, bool, Invulnerable);
+ HANDLE_PACKET_READ(ReadBool, bool, IsFlying);
+ HANDLE_PACKET_READ(ReadBool, bool, CanFly);
+ HANDLE_PACKET_READ(ReadBool, bool, InstaMine);
+ // TODO: m_Client->HandlePlayerAbilities(...);
+ return PARSE_OK;
}
-int cProtocol125::ParseDisconnect(void)
+int cProtocol125::ParsePlayerLook(void)
{
- cPacket_Disconnect dc;
- HANDLE_PACKET_PARSE(dc);
- m_Client->HandleDisconnect(dc.m_Reason);
- return PACKET_OK;
+ HANDLE_PACKET_READ(ReadBEFloat, float, Rotation);
+ HANDLE_PACKET_READ(ReadBEFloat, float, Pitch);
+ HANDLE_PACKET_READ(ReadBool, bool, IsOnGround);
+ m_Client->HandlePlayerLook(Rotation, Pitch, IsOnGround);
+ return PARSE_OK;
}
-int cProtocol125::ParseSlotSelected(void)
+int cProtocol125::ParsePlayerMoveLook(void)
{
- cPacket_ItemSwitch its;
- HANDLE_PACKET_PARSE(its);
- m_Client->HandleSlotSelected(its.m_SlotNum);
- return PACKET_OK;
+ HANDLE_PACKET_READ(ReadBEDouble, double, PosX);
+ HANDLE_PACKET_READ(ReadBEDouble, double, PosY);
+ HANDLE_PACKET_READ(ReadBEDouble, double, Stance);
+ HANDLE_PACKET_READ(ReadBEDouble, double, PosZ);
+ HANDLE_PACKET_READ(ReadBEFloat, float, Rotation);
+ HANDLE_PACKET_READ(ReadBEFloat, float, Pitch);
+ HANDLE_PACKET_READ(ReadBool, bool, IsOnGround);
+ // LOGD("Recv PML: {%0.2f, %0.2f, %0.2f}, Stance %0.2f, Gnd: %d", PosX, PosY, PosZ, Stance, IsOnGround ? 1 : 0);
+ m_Client->HandlePlayerMoveLook(PosX, PosY, PosZ, Stance, Rotation, Pitch, IsOnGround);
+ return PARSE_OK;
}
-int cProtocol125::ParseCreativeInventoryAction(void)
+int cProtocol125::ParsePlayerOnGround(void)
{
- cPacket_CreativeInventoryAction cia;
- HANDLE_PACKET_PARSE(cia);
- m_Client->HandleCreativeInventory(cia.m_SlotNum, cia.m_ClickedItem);
- return PACKET_OK;
+ HANDLE_PACKET_READ(ReadBool, bool, IsOnGround);
+ // TODO: m_Client->HandleFlying(IsOnGround);
+ return PARSE_OK;
}
-int cProtocol125::ParseUseEntity(void)
+int cProtocol125::ParsePlayerPosition(void)
{
- cPacket_UseEntity ue;
- HANDLE_PACKET_PARSE(ue);
- m_Client->HandleUseEntity(ue.m_TargetEntityID, ue.m_IsLeftClick);
- return PACKET_OK;
+ HANDLE_PACKET_READ(ReadBEDouble, double, PosX);
+ HANDLE_PACKET_READ(ReadBEDouble, double, PosY);
+ HANDLE_PACKET_READ(ReadBEDouble, double, Stance);
+ HANDLE_PACKET_READ(ReadBEDouble, double, PosZ);
+ HANDLE_PACKET_READ(ReadBool, bool, IsOnGround);
+ m_Client->HandlePlayerPos(PosX, PosY, PosZ, Stance, IsOnGround);
+ return PARSE_OK;
}
-int cProtocol125::ParseWindowClose(void)
+int cProtocol125::ParseRespawn(void)
{
- cPacket_WindowClose wc;
- HANDLE_PACKET_PARSE(wc);
- m_Client->HandleWindowClose(wc.m_WindowID);
- return PACKET_OK;
+ HANDLE_PACKET_READ(ReadBEInt, int, Dimension);
+ HANDLE_PACKET_READ(ReadChar, char, Difficulty);
+ HANDLE_PACKET_READ(ReadChar, char, CreativeMode);
+ HANDLE_PACKET_READ(ReadBEShort, short, WorldHeight);
+ HANDLE_PACKET_READ(ReadBEUTF16String16, AString, LevelType);
+ m_Client->HandleRespawn();
+ return PARSE_OK;
}
-int cProtocol125::ParseWindowClick(void)
+int cProtocol125::ParseSlotSelected(void)
{
- cPacket_WindowClick wc;
- HANDLE_PACKET_PARSE(wc);
- m_Client->HandleWindowClick(wc.m_WindowID, wc.m_SlotNum, wc.m_IsRightClick, wc.m_IsShiftPressed, wc.m_HeldItem);
- return PACKET_OK;
+ HANDLE_PACKET_READ(ReadBEShort, short, SlotNum);
+ m_Client->HandleSlotSelected(SlotNum);
+ return PARSE_OK;
}
-int cProtocol125::ParseEntityAction(void)
+int cProtocol125::ParseUpdateSign(void)
{
- cPacket_13 ea;
- HANDLE_PACKET_PARSE(ea);
- // TODO: m_Client->HandleEntityAction(...);
- return PACKET_OK;
+ HANDLE_PACKET_READ(ReadBEInt, int, BlockX);
+ HANDLE_PACKET_READ(ReadBEShort, short, BlockY);
+ HANDLE_PACKET_READ(ReadBEInt, int, BlockZ);
+ HANDLE_PACKET_READ(ReadBEUTF16String16, AString, Line1);
+ HANDLE_PACKET_READ(ReadBEUTF16String16, AString, Line2);
+ HANDLE_PACKET_READ(ReadBEUTF16String16, AString, Line3);
+ HANDLE_PACKET_READ(ReadBEUTF16String16, AString, Line4);
+ m_Client->HandleUpdateSign(BlockX, BlockY, BlockZ, Line1, Line2, Line3, Line4);
+ return PARSE_OK;
}
-int cProtocol125::ParseUpdateSign(void)
+int cProtocol125::ParseUseEntity(void)
{
- cPacket_UpdateSign us;
- HANDLE_PACKET_PARSE(us);
- m_Client->HandleUpdateSign(
- us.m_BlockX, us.m_BlockY, us.m_BlockZ,
- us.m_Line1, us.m_Line2, us.m_Line3, us.m_Line4
- );
- return PACKET_OK;
+ HANDLE_PACKET_READ(ReadBEInt, int, SourceEntityID);
+ HANDLE_PACKET_READ(ReadBEInt, int, TargetEntityID);
+ HANDLE_PACKET_READ(ReadBool, bool, IsLeftClick);
+ m_Client->HandleUseEntity(TargetEntityID, IsLeftClick);
+ return PARSE_OK;
}
-int cProtocol125::ParseRespawn(void)
+int cProtocol125::ParseWindowClick(void)
{
- cPacket_Respawn rsp;
- HANDLE_PACKET_PARSE(rsp);
- m_Client->HandleRespawn();
- return PACKET_OK;
+ HANDLE_PACKET_READ(ReadChar, char, WindowID);
+ HANDLE_PACKET_READ(ReadBEShort, short, SlotNum);
+ HANDLE_PACKET_READ(ReadBool, bool, IsRightClick);
+ HANDLE_PACKET_READ(ReadBEShort, short, TransactionID);
+ HANDLE_PACKET_READ(ReadBool, bool, IsShiftPressed);
+ cItem HeldItem;
+ int res = ParseItem(HeldItem);
+ if (res < 0)
+ {
+ return res;
+ }
+ m_Client->HandleWindowClick(WindowID, SlotNum, IsRightClick, IsShiftPressed, HeldItem);
+ return PARSE_OK;
}
-int cProtocol125::ParsePing(void)
+int cProtocol125::ParseWindowClose(void)
{
- cPacket_Ping ping;
- HANDLE_PACKET_PARSE(ping);
- m_Client->HandlePing();
- return PACKET_OK;
+ HANDLE_PACKET_READ(ReadChar, char, WindowID);
+ m_Client->HandleWindowClose(WindowID);
+ return PARSE_OK;
}
-
void cProtocol125::SendPreChunk(int a_ChunkX, int a_ChunkZ, bool a_ShouldLoad)
{
- WriteByte(E_PRE_CHUNK);
+ WriteByte(PACKET_PRE_CHUNK);
WriteInt (a_ChunkX);
WriteInt (a_ChunkZ);
WriteBool(a_ShouldLoad);
@@ -1186,6 +1226,51 @@ void cProtocol125::WriteItem(const cItem & a_Item)
+int cProtocol125::ParseItem(cItem & a_Item)
+{
+ HANDLE_PACKET_READ(ReadBEShort, short, ItemType);
+
+ if (ItemType <= -1)
+ {
+ a_Item.Empty();
+ return PARSE_OK;
+ }
+ a_Item.m_ItemType = ItemType;
+
+ HANDLE_PACKET_READ(ReadChar, char, ItemCount);
+ HANDLE_PACKET_READ(ReadBEShort, short, ItemDamage);
+ a_Item.m_ItemCount = ItemCount;
+ a_Item.m_ItemDamage = ItemDamage;
+ if (ItemCount <= 0)
+ {
+ a_Item.Empty();
+ }
+
+ if (!cItem::IsEnchantable(ItemType))
+ {
+ return PARSE_OK;
+ }
+
+ HANDLE_PACKET_READ(ReadBEShort, short, EnchantNumBytes);
+
+ if (EnchantNumBytes == 0)
+ {
+ return PARSE_OK;
+ }
+
+ // TODO: Enchantment not implemented yet!
+ if (!m_ReceivedData.SkipRead(EnchantNumBytes))
+ {
+ return PARSE_INCOMPLETE;
+ }
+
+ return PARSE_OK;
+}
+
+
+
+
+
AString cProtocol125::GetEntityMetaData(const cEntity & a_Entity)
{
// We should send all the metadata here
diff --git a/source/Protocol125.h b/source/Protocol125.h
index de1be4fd7..c1b10bd52 100644
--- a/source/Protocol125.h
+++ b/source/Protocol125.h
@@ -16,13 +16,6 @@
-// fwd:
-class cPacket;
-
-
-
-
-
class cProtocol125 :
public cProtocol
{
@@ -46,6 +39,8 @@ public:
virtual void SendEntLook (const cEntity & a_Entity) override;
virtual void SendEntityEquipment (const cEntity & a_Entity, short a_SlotNum, const cItem & a_Item) override;
virtual void SendEntityStatus (const cEntity & a_Entity, char a_Status) override;
+ virtual void SendEntRelMove (const cEntity & a_Entity, char a_RelX, char a_RelY, char a_RelZ) override;
+ virtual void SendEntRelMoveLook (const cEntity & a_Entity, char a_RelX, char a_RelY, char a_RelZ) override;
virtual void SendGameMode (eGameMode a_GameMode) override;
virtual void SendHandshake (const AString & a_ConnectionHash) override;
virtual void SendHealth (void) override;
@@ -60,8 +55,6 @@ public:
virtual void SendPlayerMoveLook (void) override;
virtual void SendPlayerPosition (void) override;
virtual void SendPlayerSpawn (const cPlayer & a_Player) override;
- virtual void SendRelEntMove (const cEntity & a_Entity, char a_RelX, char a_RelY, char a_RelZ) override;
- virtual void SendRelEntMoveLook (const cEntity & a_Entity, char a_RelX, char a_RelY, char a_RelZ) override;
virtual void SendRespawn (void) override;
virtual void SendSpawnMob (const cMonster & a_Mob) override;
virtual void SendTeleportEntity (const cEntity & a_Entity) override;
@@ -78,10 +71,10 @@ public:
protected:
/// Results of packet-parsing:
enum {
- PACKET_OK = 1,
- PACKET_ERROR = -1,
- PACKET_UNKNOWN = -2,
- PACKET_INCOMPLETE = -3,
+ PARSE_OK = 1,
+ PARSE_ERROR = -1,
+ PARSE_UNKNOWN = -2,
+ PARSE_INCOMPLETE = -3,
} ;
cByteBuffer m_ReceivedData; //< Buffer for the received data
@@ -99,17 +92,17 @@ protected:
virtual int ParseCreativeInventoryAction(void);
virtual int ParseDisconnect (void);
virtual int ParseEntityAction (void);
- virtual int ParseFlying (void);
virtual int ParseHandshake (void);
- virtual int ParseSlotSelected (void);
virtual int ParseKeepAlive (void);
virtual int ParseLogin (void);
virtual int ParsePing (void);
virtual int ParsePlayerAbilities (void);
virtual int ParsePlayerLook (void);
virtual int ParsePlayerMoveLook (void);
+ virtual int ParsePlayerOnGround (void);
virtual int ParsePlayerPosition (void);
virtual int ParseRespawn (void);
+ virtual int ParseSlotSelected (void);
virtual int ParseUpdateSign (void);
virtual int ParseUseEntity (void);
virtual int ParseWindowClick (void);
@@ -125,6 +118,9 @@ protected:
/// Writes one item, "slot" as the protocol wiki calls it
virtual void WriteItem(const cItem & a_Item);
+ /// Parses one item, "slot" as the protocol wiki calls it, from m_ReceivedData; returns the usual ParsePacket() codes
+ virtual int ParseItem(cItem & a_Item);
+
/// Returns the entity metadata representation
AString GetEntityMetaData(const cEntity & a_Entity);
diff --git a/source/cChunk.cpp b/source/cChunk.cpp
index 351f456af..17b961d3c 100644
--- a/source/cChunk.cpp
+++ b/source/cChunk.cpp
@@ -1651,7 +1651,7 @@ void cChunk::BroadcastEntityEquipment(const cEntity & a_Entity, short a_SlotNum,
-void cChunk::BroadcastRelEntMoveLook(const cEntity & a_Entity, char a_RelX, char a_RelY, char a_RelZ, const cClientHandle * a_Exclude)
+void cChunk::BroadcastEntRelMoveLook(const cEntity & a_Entity, char a_RelX, char a_RelY, char a_RelZ, const cClientHandle * a_Exclude)
{
for (cClientHandleList::const_iterator itr = m_LoadedByClient.begin(); itr != m_LoadedByClient.end(); ++itr )
{
@@ -1659,7 +1659,7 @@ void cChunk::BroadcastRelEntMoveLook(const cEntity & a_Entity, char a_RelX, char
{
continue;
}
- (*itr)->SendRelEntMoveLook(a_Entity, a_RelX, a_RelY, a_RelZ);
+ (*itr)->SendEntRelMoveLook(a_Entity, a_RelX, a_RelY, a_RelZ);
} // for itr - LoadedByClient[]
}
@@ -1667,7 +1667,7 @@ void cChunk::BroadcastRelEntMoveLook(const cEntity & a_Entity, char a_RelX, char
-void cChunk::BroadcastRelEntMove(const cEntity & a_Entity, char a_RelX, char a_RelY, char a_RelZ, const cClientHandle * a_Exclude)
+void cChunk::BroadcastEntRelMove(const cEntity & a_Entity, char a_RelX, char a_RelY, char a_RelZ, const cClientHandle * a_Exclude)
{
for (cClientHandleList::const_iterator itr = m_LoadedByClient.begin(); itr != m_LoadedByClient.end(); ++itr )
{
@@ -1675,7 +1675,7 @@ void cChunk::BroadcastRelEntMove(const cEntity & a_Entity, char a_RelX, char a_R
{
continue;
}
- (*itr)->SendRelEntMove(a_Entity, a_RelX, a_RelY, a_RelZ);
+ (*itr)->SendEntRelMove(a_Entity, a_RelX, a_RelY, a_RelZ);
} // for itr - LoadedByClient[]
}
diff --git a/source/cChunk.h b/source/cChunk.h
index 9539b20d5..c63bd8a92 100644
--- a/source/cChunk.h
+++ b/source/cChunk.h
@@ -32,7 +32,6 @@ namespace Json
class cWorld;
class cFurnaceEntity;
-class cPacket;
class cClientHandle;
class cServer;
class MTRand;
@@ -174,14 +173,10 @@ public:
void CalculateLighting(); // Recalculate right now
void CalculateHeightmap();
- // Broadcasts to all clients that have loaded this chunk
- void Broadcast( const cPacket & a_Packet, cClientHandle * a_Exclude = NULL) {Broadcast(&a_Packet, a_Exclude); }
- void Broadcast( const cPacket * a_Packet, cClientHandle * a_Exclude = NULL);
-
void BroadcastPlayerAnimation(const cPlayer & a_Player, char a_Animation, const cClientHandle * a_Exclude = NULL);
void BroadcastEntityEquipment(const cEntity & a_Entity, short a_SlotNum, const cItem & a_Item, const cClientHandle * a_Exclude = NULL);
- void BroadcastRelEntMoveLook (const cEntity & a_Entity, char a_RelX, char a_RelY, char a_RelZ, const cClientHandle * a_Exclude = NULL);
- void BroadcastRelEntMove (const cEntity & a_Entity, char a_RelX, char a_RelY, char a_RelZ, const cClientHandle * a_Exclude = NULL);
+ void BroadcastEntRelMoveLook (const cEntity & a_Entity, char a_RelX, char a_RelY, char a_RelZ, const cClientHandle * a_Exclude = NULL);
+ void BroadcastEntRelMove (const cEntity & a_Entity, char a_RelX, char a_RelY, char a_RelZ, const cClientHandle * a_Exclude = NULL);
void BroadcastEntLook (const cEntity & a_Entity, const cClientHandle * a_Exclude = NULL);
void BroadcastEntHeadLook (const cEntity & a_Entity, const cClientHandle * a_Exclude = NULL);
void BroadcastBlockAction (int a_BlockX, int a_BlockY, int a_BlockZ, char a_Byte1, char a_Byte2, const cClientHandle * a_Exclude = NULL);
diff --git a/source/cChunkMap.cpp b/source/cChunkMap.cpp
index f4203ca4e..c764a0321 100644
--- a/source/cChunkMap.cpp
+++ b/source/cChunkMap.cpp
@@ -257,7 +257,7 @@ void cChunkMap::BroadcastEntityEquipment(const cEntity & a_Entity, short a_SlotN
-void cChunkMap::BroadcastRelEntMoveLook(const cEntity & a_Entity, char a_RelX, char a_RelY, char a_RelZ, const cClientHandle * a_Exclude)
+void cChunkMap::BroadcastEntRelMoveLook(const cEntity & a_Entity, char a_RelX, char a_RelY, char a_RelZ, const cClientHandle * a_Exclude)
{
cCSLock Lock(m_CSLayers);
cChunkPtr Chunk = GetChunkNoGen(a_Entity.GetChunkX(), a_Entity.GetChunkY(), a_Entity.GetChunkZ());
@@ -266,7 +266,7 @@ void cChunkMap::BroadcastRelEntMoveLook(const cEntity & a_Entity, char a_RelX, c
return;
}
// It's perfectly legal to broadcast packets even to invalid chunks!
- Chunk->BroadcastRelEntMoveLook(a_Entity, a_RelX, a_RelY, a_RelZ, a_Exclude);
+ Chunk->BroadcastEntRelMoveLook(a_Entity, a_RelX, a_RelY, a_RelZ, a_Exclude);
}
@@ -274,7 +274,7 @@ void cChunkMap::BroadcastRelEntMoveLook(const cEntity & a_Entity, char a_RelX, c
-void cChunkMap::BroadcastRelEntMove(const cEntity & a_Entity, char a_RelX, char a_RelY, char a_RelZ, const cClientHandle * a_Exclude)
+void cChunkMap::BroadcastEntRelMove(const cEntity & a_Entity, char a_RelX, char a_RelY, char a_RelZ, const cClientHandle * a_Exclude)
{
cCSLock Lock(m_CSLayers);
cChunkPtr Chunk = GetChunkNoGen(a_Entity.GetChunkX(), a_Entity.GetChunkY(), a_Entity.GetChunkZ());
@@ -283,7 +283,7 @@ void cChunkMap::BroadcastRelEntMove(const cEntity & a_Entity, char a_RelX, char
return;
}
// It's perfectly legal to broadcast packets even to invalid chunks!
- Chunk->BroadcastRelEntMove(a_Entity, a_RelX, a_RelY, a_RelZ, a_Exclude);
+ Chunk->BroadcastEntRelMove(a_Entity, a_RelX, a_RelY, a_RelZ, a_Exclude);
}
diff --git a/source/cChunkMap.h b/source/cChunkMap.h
index a28b35fb6..36cb704a2 100644
--- a/source/cChunkMap.h
+++ b/source/cChunkMap.h
@@ -49,10 +49,10 @@ public:
void BroadcastEntityEquipment(const cEntity & a_Entity, short a_SlotNum, const cItem & a_Item, const cClientHandle * a_Exclude = NULL);
/// Broadcasts a RelEntMoveLook packet to all clients in the chunk where a_Entity is
- void BroadcastRelEntMoveLook(const cEntity & a_Entity, char a_RelX, char a_RelY, char a_RelZ, const cClientHandle * a_Exclude = NULL);
+ void BroadcastEntRelMoveLook(const cEntity & a_Entity, char a_RelX, char a_RelY, char a_RelZ, const cClientHandle * a_Exclude = NULL);
/// Broadcasts a RelEntMove packet to all clients in the chunk where a_Entity is
- void BroadcastRelEntMove(const cEntity & a_Entity, char a_RelX, char a_RelY, char a_RelZ, const cClientHandle * a_Exclude = NULL);
+ void BroadcastEntRelMove(const cEntity & a_Entity, char a_RelX, char a_RelY, char a_RelZ, const cClientHandle * a_Exclude = NULL);
/// Broadcasts a EntLook packet to all clients in the chunk where a_Entity is
void BroadcastEntLook(const cEntity & a_Entity, const cClientHandle * a_Exclude = NULL);
diff --git a/source/cClientHandle.cpp b/source/cClientHandle.cpp
index d966831b9..0fd1597c4 100644
--- a/source/cClientHandle.cpp
+++ b/source/cClientHandle.cpp
@@ -1174,22 +1174,22 @@ void cClientHandle::SendPlayerPosition(void)
-void cClientHandle::SendRelEntMoveLook(const cEntity & a_Entity, char a_RelX, char a_RelY, char a_RelZ)
+void cClientHandle::SendEntRelMoveLook(const cEntity & a_Entity, char a_RelX, char a_RelY, char a_RelZ)
{
ASSERT(a_Entity.GetUniqueID() != m_Player->GetUniqueID()); // Must not send for self
- m_Protocol->SendRelEntMoveLook(a_Entity, a_RelX, a_RelY, a_RelZ);
+ m_Protocol->SendEntRelMoveLook(a_Entity, a_RelX, a_RelY, a_RelZ);
}
-void cClientHandle::SendRelEntMove(const cEntity & a_Entity, char a_RelX, char a_RelY, char a_RelZ)
+void cClientHandle::SendEntRelMove(const cEntity & a_Entity, char a_RelX, char a_RelY, char a_RelZ)
{
ASSERT(a_Entity.GetUniqueID() != m_Player->GetUniqueID()); // Must not send for self
- m_Protocol->SendRelEntMove(a_Entity, a_RelX, a_RelY, a_RelZ);
+ m_Protocol->SendEntRelMove(a_Entity, a_RelX, a_RelY, a_RelZ);
}
diff --git a/source/cClientHandle.h b/source/cClientHandle.h
index ee3e8b1ee..3ae37c2e7 100644
--- a/source/cClientHandle.h
+++ b/source/cClientHandle.h
@@ -95,8 +95,8 @@ public:
void SendTeleportEntity(const cEntity & a_Entity);
void SendPlayerListItem(const cPlayer & a_Player, bool a_IsOnline);
void SendPlayerPosition(void);
- void SendRelEntMoveLook(const cEntity & a_Entity, char a_RelX, char a_RelY, char a_RelZ);
- void SendRelEntMove (const cEntity & a_Entity, char a_RelX, char a_RelY, char a_RelZ);
+ void SendEntRelMoveLook(const cEntity & a_Entity, char a_RelX, char a_RelY, char a_RelZ);
+ void SendEntRelMove (const cEntity & a_Entity, char a_RelX, char a_RelY, char a_RelZ);
void SendEntLook (const cEntity & a_Entity);
void SendEntHeadLook (const cEntity & a_Entity);
void SendBlockAction (int a_BlockX, int a_BlockY, int a_BlockZ, char a_Byte1, char a_Byte2);
@@ -226,11 +226,6 @@ private:
bool m_bKeepThreadGoing;
- /*
- /// Handles rclk with a dye; returns true if the dye is to be be consumed
- bool HandleDyes(cPacket_BlockPlace * a_Packet);
- */
-
/// Returns true if the rate block interactions is within a reasonable limit (bot protection)
bool CheckBlockInteractionsRate(void);
diff --git a/source/cEntity.h b/source/cEntity.h
index a34b7518f..15c351a09 100644
--- a/source/cEntity.h
+++ b/source/cEntity.h
@@ -43,7 +43,6 @@
class cWorld;
class cReferenceManager;
class cClientHandle;
-class cPacket;
diff --git a/source/cInventory.h b/source/cInventory.h
index bb8519828..96d744baf 100644
--- a/source/cInventory.h
+++ b/source/cInventory.h
@@ -15,8 +15,6 @@ namespace Json
class cItem;
class cClientHandle;
class cPlayer;
-class cPacket;
-class cPacket_EntityEquipment;
diff --git a/source/cMonster.cpp b/source/cMonster.cpp
index 24d790dc3..8b1a22bb7 100644
--- a/source/cMonster.cpp
+++ b/source/cMonster.cpp
@@ -228,12 +228,12 @@ void cMonster::ReplicateMovement()
// Relative move sucks balls! It's always wrong wtf!
if (m_bDirtyOrientation)
{
- m_World->BroadcastRelEntMoveLook(*this, (char)(DiffX * 32), (char)(DiffY * 32), (char)(DiffZ * 32));
+ m_World->BroadcastEntRelMoveLook(*this, (char)(DiffX * 32), (char)(DiffY * 32), (char)(DiffZ * 32));
m_bDirtyOrientation = false;
}
else
{
- m_World->BroadcastRelEntMove(*this, (char)(DiffX * 32), (char)(DiffY * 32), (char)(DiffZ * 32));
+ m_World->BroadcastEntRelMove(*this, (char)(DiffX * 32), (char)(DiffY * 32), (char)(DiffZ * 32));
}
}
m_LastPosX = GetPosX();
diff --git a/source/cPickup.h b/source/cPickup.h
index 06d5fe301..8e8f514b8 100644
--- a/source/cPickup.h
+++ b/source/cPickup.h
@@ -6,7 +6,6 @@
-class cPacket_PickupSpawn;
class cPlayer;
class cItem;
diff --git a/source/cPlayer.cpp b/source/cPlayer.cpp
index b7c05b402..d3c0107ec 100644
--- a/source/cPlayer.cpp
+++ b/source/cPlayer.cpp
@@ -198,12 +198,12 @@ void cPlayer::Tick(float a_Dt)
// Relative move sucks balls! It's always wrong wtf!
if (m_bDirtyOrientation)
{
- m_World->BroadcastRelEntMoveLook(*this, (char)(DiffX * 32), (char)(DiffY * 32), (char)(DiffZ * 32), m_ClientHandle);
+ m_World->BroadcastEntRelMoveLook(*this, (char)(DiffX * 32), (char)(DiffY * 32), (char)(DiffZ * 32), m_ClientHandle);
m_bDirtyOrientation = false;
}
else
{
- m_World->BroadcastRelEntMove(*this, (char)(DiffX * 32), (char)(DiffY * 32), (char)(DiffZ * 32), m_ClientHandle);
+ m_World->BroadcastEntRelMove(*this, (char)(DiffX * 32), (char)(DiffY * 32), (char)(DiffZ * 32), m_ClientHandle);
}
}
m_LastPosX = GetPosX();
diff --git a/source/cPlugin.h b/source/cPlugin.h
index f040ba823..15029886b 100644
--- a/source/cPlugin.h
+++ b/source/cPlugin.h
@@ -3,13 +3,6 @@
#include "cItem.h"
-class cPacket_BlockPlace;
-class cPacket_PickupSpawn;
-class cPacket_EntityEquipment;
-class cPacket_Disconnect;
-class cPacket_Chat;
-class cPacket_BlockDig;
-class cPacket_Login;
class cClientHandle;
class cPlayer;
class cPickup;
diff --git a/source/cPlugin_Lua.h b/source/cPlugin_Lua.h
index 6e5d027d4..73787de0c 100644
--- a/source/cPlugin_Lua.h
+++ b/source/cPlugin_Lua.h
@@ -3,10 +3,12 @@
class cPickup;
class cPlayer;
-class cPacket_BlockPlace;
-class cPacket_BlockDig;
-class cPacket_Login;
class cPlugin;
+
+
+
+
+
class cPlugin_Lua //tolua_export
{ //tolua_export
public:
@@ -29,4 +31,8 @@ private:
typedef std::list< cPlugin* > PluginList;
PluginList m_Plugins;
-}; //tolua_export \ No newline at end of file
+}; //tolua_export
+
+
+
+
diff --git a/source/cServer.h b/source/cServer.h
index 48a39db7d..a97bcbd7a 100644
--- a/source/cServer.h
+++ b/source/cServer.h
@@ -19,7 +19,6 @@
class cPlayer;
class cClientHandle;
-class cPacket;
typedef std::list<cClientHandle *> cClientHandleList;
diff --git a/source/cWorld.cpp b/source/cWorld.cpp
index ee41a6aa1..9348eda7d 100644
--- a/source/cWorld.cpp
+++ b/source/cWorld.cpp
@@ -1268,18 +1268,18 @@ void cWorld::BroadcastTeleportEntity(const cEntity & a_Entity, const cClientHand
-void cWorld::BroadcastRelEntMoveLook(const cEntity & a_Entity, char a_RelX, char a_RelY, char a_RelZ, const cClientHandle * a_Exclude)
+void cWorld::BroadcastEntRelMoveLook(const cEntity & a_Entity, char a_RelX, char a_RelY, char a_RelZ, const cClientHandle * a_Exclude)
{
- m_ChunkMap->BroadcastRelEntMoveLook(a_Entity, a_RelX, a_RelY, a_RelZ, a_Exclude);
+ m_ChunkMap->BroadcastEntRelMoveLook(a_Entity, a_RelX, a_RelY, a_RelZ, a_Exclude);
}
-void cWorld::BroadcastRelEntMove(const cEntity & a_Entity, char a_RelX, char a_RelY, char a_RelZ, const cClientHandle * a_Exclude)
+void cWorld::BroadcastEntRelMove(const cEntity & a_Entity, char a_RelX, char a_RelY, char a_RelZ, const cClientHandle * a_Exclude)
{
- m_ChunkMap->BroadcastRelEntMove(a_Entity, a_RelX, a_RelY, a_RelZ, a_Exclude);
+ m_ChunkMap->BroadcastEntRelMove(a_Entity, a_RelX, a_RelY, a_RelZ, a_Exclude);
}
diff --git a/source/cWorld.h b/source/cWorld.h
index 688ce5857..0751daf5c 100644
--- a/source/cWorld.h
+++ b/source/cWorld.h
@@ -77,8 +77,8 @@ public:
void BroadcastPlayerAnimation(const cPlayer & a_Player, char a_Animation, const cClientHandle * a_Exclude = NULL);
void BroadcastEntityEquipment(const cEntity & a_Entity, short a_SlotNum, const cItem & a_Item, const cClientHandle * a_Exclude = NULL);
void BroadcastTeleportEntity (const cEntity & a_Entity, const cClientHandle * a_Exclude = NULL);
- void BroadcastRelEntMoveLook (const cEntity & a_Entity, char a_RelX, char a_RelY, char a_RelZ, const cClientHandle * a_Exclude = NULL);
- void BroadcastRelEntMove (const cEntity & a_Entity, char a_RelX, char a_RelY, char a_RelZ, const cClientHandle * a_Exclude = NULL);
+ void BroadcastEntRelMoveLook (const cEntity & a_Entity, char a_RelX, char a_RelY, char a_RelZ, const cClientHandle * a_Exclude = NULL);
+ void BroadcastEntRelMove (const cEntity & a_Entity, char a_RelX, char a_RelY, char a_RelZ, const cClientHandle * a_Exclude = NULL);
void BroadcastEntLook (const cEntity & a_Entity, const cClientHandle * a_Exclude = NULL);
void BroadcastEntHeadLook (const cEntity & a_Entity, const cClientHandle * a_Exclude = NULL);
void BroadcastBlockAction (int a_BlockX, int a_BlockY, int a_BlockZ, char a_Byte1, char a_Byte2, const cClientHandle * a_Exclude = NULL);
diff --git a/source/packets/cPacket.cpp b/source/packets/cPacket.cpp
deleted file mode 100644
index 8307e67fa..000000000
--- a/source/packets/cPacket.cpp
+++ /dev/null
@@ -1,153 +0,0 @@
-
-#include "Globals.h" // NOTE: MSVC stupidness requires this to be the same across all modules
-
-#include "cPacket.h"
-#include "../Endianness.h"
-
-
-
-
-
-/*
-// These checks cannot be done in preprocessor, since sizeof() is evaluated while compiling, so in preprocessing it's unknown.
-// Check some basic type assumptions:
-#if (sizeof(int) != 4)
- #error "Bad size for int, protocol won't work"
-#endif
-
-#if (sizeof(float) != 4)
- #error "Bad size for float, protocol won't work"
-#endif
-
-#if (sizeof(double) != 8)
- #error "Bad size for double, protocol won't work"
-#endif
-*/
-
-
-
-
-
-void cPacket::AppendString(AString & a_Dst, const AString & a_String)
-{
- AppendShort(a_Dst, (unsigned short)a_String.size());
- a_Dst.append(a_String);
-}
-
-
-
-
-
-void cPacket::AppendString16(AString & a_Dst, const AString & a_String)
-{
- AppendShort(a_Dst, (unsigned short)a_String.size());
- AString UTF16;
- UTF16.resize(a_String.size() * sizeof(short));
- for( unsigned int i = 0; i < a_String.size(); ++i )
- {
- UTF16[i * sizeof( short )] = 0x00;
- UTF16[i * sizeof( short ) + 1] = a_String[i];
- }
- a_Dst.append(UTF16.data(), a_String.size() * sizeof(short));
-}
-
-
-
-
-
-void cPacket::AppendShort(AString & a_Dst, short a_Short)
-{
- short ConvertedShort = htons( a_Short );
- a_Dst.append((const char *)&ConvertedShort, sizeof(short));
-}
-
-
-
-
-
-void cPacket::AppendShort(AString & a_Dst, unsigned short a_Short)
-{
- short ConvertedShort = htons( a_Short );
- a_Dst.append((const char *)&ConvertedShort, sizeof(short));
-}
-
-
-
-
-
-void cPacket::AppendInteger(AString & a_Dst, int a_Integer)
-{
- int ConvertedInt = htonl( a_Integer );
- a_Dst.append((const char *)&ConvertedInt, sizeof(int));
-}
-
-
-
-
-
-void cPacket::AppendInteger(AString & a_Dst, unsigned int a_Integer)
-{
- unsigned int ConvertedInt = htonl( a_Integer );
- a_Dst.append((const char *)&ConvertedInt, sizeof(int));
-}
-
-
-
-
-
-void cPacket::AppendFloat(AString & a_Dst, float a_Float)
-{
- unsigned int ConvertedFloat = HostToNetwork4(&a_Float);
- a_Dst.append((const char *)&ConvertedFloat, sizeof(int));
-}
-
-
-
-
-
-void cPacket::AppendDouble(AString & a_Dst, const double & a_Double)
-{
- unsigned long long ConvertedDouble = HostToNetwork8(&a_Double);
- a_Dst.append((const char *)&ConvertedDouble, 8);
-}
-
-
-
-
-
-void cPacket::AppendByte(AString & a_Dst, char a_Byte)
-{
- a_Dst.append(&a_Byte, 1);
-}
-
-
-
-
-
-void cPacket::AppendLong(AString & a_Dst, const long long & a_Long)
-{
- unsigned long long ConvertedLong = HostToNetwork8(&a_Long);
- a_Dst.append((const char *)&ConvertedLong, sizeof(a_Long));
-}
-
-
-
-
-
-void cPacket::AppendBool(AString & a_Dst, bool a_Bool)
-{
- a_Dst.append((const char *)&a_Bool, 1);
-}
-
-
-
-
-
-void cPacket::AppendData(AString & a_Dst, const char * a_Data, unsigned int a_Size)
-{
- a_Dst.append(a_Data, a_Size);
-}
-
-
-
-
diff --git a/source/packets/cPacket.h b/source/packets/cPacket.h
deleted file mode 100644
index 580cd6771..000000000
--- a/source/packets/cPacket.h
+++ /dev/null
@@ -1,80 +0,0 @@
-
-#pragma once
-
-#include "../cSocket.h"
-#include "../PacketID.h"
-#include "../ByteBuffer.h"
-
-
-
-
-
-enum
-{
- PACKET_INCOMPLETE = -2,
- PACKET_ERROR = -1,
- PACKET_OK = 1,
-} ;
-
-
-
-
-
-// Use this macro to simplify handling several ReadXXX in a row. It assumes that you want [a_Data, a_Size] parsed (which is true for all Parse() functions)
-#define HANDLE_PACKET_READ(Proc, Var, TotalBytes) \
- { \
- if (!a_Buffer.Proc(Var)) \
- { \
- return PACKET_INCOMPLETE; \
- } \
- TotalBytes = PACKET_OK; \
- }
-
-
-
-
-
-class cPacket
-{
-public:
- cPacket()
- : m_PacketID( 0 )
- {}
- virtual ~cPacket() {}
-
- /// Called to parse the packet. Packet type has already been read and the correct packet type created. Return PACKET_INCOMPLETE for incomplete data, PACKET_ERROR for error, any positive number for success
- virtual int Parse(cByteBuffer & a_Buffer)
- {
- // There are packets that are sent S->C only, those don't have a parsing function
- UNUSED(a_Buffer);
- LOGERROR("Packet type 0x%02x has no parser defined!", m_PacketID);
- ASSERT(!"Unparsed packet type!");
- return PACKET_ERROR;
- }
-
- virtual cPacket * Clone() const = 0;
-
- unsigned char m_PacketID;
-
-protected:
- // These append the data into the a_Dst string:
- static void AppendString ( AString & a_Dst, const AString & a_String);
- static void AppendString16( AString & a_Dst, const AString & a_String);
- static void AppendShort ( AString & a_Dst, short a_Short);
- static void AppendShort ( AString & a_Dst, unsigned short a_Short);
- static void AppendInteger ( AString & a_Dst, int a_Integer);
- static void AppendInteger ( AString & a_Dst, unsigned int a_Integer);
- static void AppendFloat ( AString & a_Dst, float a_Float);
- static void AppendDouble ( AString & a_Dst, const double & a_Double);
- static void AppendByte ( AString & a_Dst, char a_Byte);
- static void AppendLong ( AString & a_Dst, const long long & a_Long);
- static void AppendBool ( AString & a_Dst, bool a_Bool);
- static void AppendData ( AString & a_Dst, const char * a_Data, unsigned int a_Size);
-};
-
-typedef std::list <cPacket*> PacketList;
-typedef std::deque<cPacket *> PacketQueue;
-
-
-
-
diff --git a/source/packets/cPacket_13.cpp b/source/packets/cPacket_13.cpp
deleted file mode 100644
index f31c67704..000000000
--- a/source/packets/cPacket_13.cpp
+++ /dev/null
@@ -1,20 +0,0 @@
-
-#include "Globals.h" // NOTE: MSVC stupidness requires this to be the same across all modules
-
-#include "cPacket_13.h"
-
-
-
-
-
-int cPacket_13::Parse(cByteBuffer & a_Buffer)
-{
- int TotalBytes = 0;
- HANDLE_PACKET_READ(ReadBEInt, m_EntityID, TotalBytes);
- HANDLE_PACKET_READ(ReadChar, m_ActionID, TotalBytes);
- return TotalBytes;
-}
-
-
-
-
diff --git a/source/packets/cPacket_13.h b/source/packets/cPacket_13.h
deleted file mode 100644
index c9f274b38..000000000
--- a/source/packets/cPacket_13.h
+++ /dev/null
@@ -1,34 +0,0 @@
-#pragma once
-
-#include "cPacket.h"
-
-
-class cPacket_13 : public cPacket
-{
-public:
- enum ENUM_ACTION
- {
- ACTION_CROUCH = 1,
- ACTION_UNCROUCH = 2,
- ACTION_LEAVEBED = 3,
- ACTION_STARTSPRINTING = 4,
- ACTION_STOPSPRINTING = 5,
- };
-
- cPacket_13()
- : m_EntityID( 0 )
- , m_ActionID( 0 )
- { m_PacketID = E_PACKET_ENTITY_ACTION; }
- virtual cPacket* Clone() const { return new cPacket_13( *this ); }
-
- virtual int Parse(cByteBuffer & a_Buffer) override;
-
- int m_EntityID;
- char m_ActionID;
-
- static const unsigned int c_Size = 1;
-};
-
-
-
-
diff --git a/source/packets/cPacket_ArmAnim.cpp b/source/packets/cPacket_ArmAnim.cpp
deleted file mode 100644
index 8d46da39f..000000000
--- a/source/packets/cPacket_ArmAnim.cpp
+++ /dev/null
@@ -1,20 +0,0 @@
-
-#include "Globals.h" // NOTE: MSVC stupidness requires this to be the same across all modules
-
-#include "cPacket_ArmAnim.h"
-
-
-
-
-
-int cPacket_ArmAnim::Parse(cByteBuffer & a_Buffer)
-{
- int TotalBytes = 0;
- HANDLE_PACKET_READ(ReadBEInt, m_EntityID, TotalBytes);
- HANDLE_PACKET_READ(ReadChar, m_Animation, TotalBytes);
- return TotalBytes;
-}
-
-
-
-
diff --git a/source/packets/cPacket_ArmAnim.h b/source/packets/cPacket_ArmAnim.h
deleted file mode 100644
index c4f4694ce..000000000
--- a/source/packets/cPacket_ArmAnim.h
+++ /dev/null
@@ -1,30 +0,0 @@
-
-#pragma once
-
-#include "cPacket.h"
-
-
-
-
-
-class cPacket_ArmAnim :
- public cPacket
-{
-public:
- cPacket_ArmAnim()
- : m_EntityID( 0 )
- , m_Animation( 0 )
- {
- m_PacketID = E_ANIMATION;
- }
- virtual cPacket* Clone() const { return new cPacket_ArmAnim(*this); }
-
- virtual int Parse(cByteBuffer & a_Buffer) override;
-
- int m_EntityID;
- char m_Animation;
-};
-
-
-
-
diff --git a/source/packets/cPacket_BlockDig.cpp b/source/packets/cPacket_BlockDig.cpp
deleted file mode 100644
index 8c7cc5955..000000000
--- a/source/packets/cPacket_BlockDig.cpp
+++ /dev/null
@@ -1,23 +0,0 @@
-
-#include "Globals.h" // NOTE: MSVC stupidness requires this to be the same across all modules
-
-#include "cPacket_BlockDig.h"
-
-
-
-
-
-int cPacket_BlockDig::Parse(cByteBuffer & a_Buffer)
-{
- int TotalBytes = 0;
- HANDLE_PACKET_READ(ReadChar, m_Status, TotalBytes);
- HANDLE_PACKET_READ(ReadBEInt, m_PosX, TotalBytes);
- HANDLE_PACKET_READ(ReadChar, m_PosY, TotalBytes);
- HANDLE_PACKET_READ(ReadBEInt, m_PosZ, TotalBytes);
- HANDLE_PACKET_READ(ReadChar, m_Direction, TotalBytes);
- return TotalBytes;
-}
-
-
-
-
diff --git a/source/packets/cPacket_BlockDig.h b/source/packets/cPacket_BlockDig.h
deleted file mode 100644
index 1678dcaf3..000000000
--- a/source/packets/cPacket_BlockDig.h
+++ /dev/null
@@ -1,37 +0,0 @@
-
-#pragma once
-
-#include "cPacket.h"
-
-
-
-
-
-class cPacket_BlockDig :
- public cPacket
-{
-public:
- cPacket_BlockDig()
- : m_Status( 0 )
- , m_PosX( 0 )
- , m_PosY( 0 )
- , m_PosZ( 0 )
- , m_Direction( 0 )
- {
- m_PacketID = E_BLOCK_DIG;
- }
-
- virtual cPacket* Clone() const { return new cPacket_BlockDig(*this); }
-
- virtual int Parse(cByteBuffer & a_Buffer) override;
-
- char m_Status;
- int m_PosX;
- char m_PosY;
- int m_PosZ;
- char m_Direction;
-};
-
-
-
-
diff --git a/source/packets/cPacket_BlockPlace.cpp b/source/packets/cPacket_BlockPlace.cpp
deleted file mode 100644
index 6b4219a8b..000000000
--- a/source/packets/cPacket_BlockPlace.cpp
+++ /dev/null
@@ -1,31 +0,0 @@
-
-#include "Globals.h" // NOTE: MSVC stupidness requires this to be the same across all modules
-
-#include "cPacket_BlockPlace.h"
-#include "cPacket_ItemData.h"
-
-
-
-
-
-int cPacket_BlockPlace::Parse(cByteBuffer & a_Buffer)
-{
- int TotalBytes = 0;
- HANDLE_PACKET_READ(ReadBEInt, m_PosX, TotalBytes);
- HANDLE_PACKET_READ(ReadByte, m_PosY, TotalBytes);
- HANDLE_PACKET_READ(ReadBEInt, m_PosZ, TotalBytes);
- HANDLE_PACKET_READ(ReadChar, m_Direction, TotalBytes);
-
- cPacket_ItemData Item(m_HeldItem);
- int res = Item.Parse(a_Buffer);
- if (res < 0)
- {
- return res;
- }
- TotalBytes += res;
- return TotalBytes;
-}
-
-
-
-
diff --git a/source/packets/cPacket_BlockPlace.h b/source/packets/cPacket_BlockPlace.h
deleted file mode 100644
index 187abf549..000000000
--- a/source/packets/cPacket_BlockPlace.h
+++ /dev/null
@@ -1,38 +0,0 @@
-
-#pragma once
-
-#include "cPacket.h"
-#include "../cItem.h"
-
-
-
-
-
-class cPacket_BlockPlace :
- public cPacket
-{
-public:
- cPacket_BlockPlace()
- : m_PosX( 0 )
- , m_PosY( 0 )
- , m_PosZ( 0 )
- , m_Direction( 0 )
- {
- m_PacketID = E_BLOCK_PLACE;
- }
-
- virtual cPacket* Clone() const { return new cPacket_BlockPlace(*this); }
-
- virtual int Parse(cByteBuffer & a_Buffer) override;
-
- int m_PosX;
- unsigned char m_PosY;
- int m_PosZ;
- char m_Direction;
-
- cItem m_HeldItem;
-} ;
-
-
-
-
diff --git a/source/packets/cPacket_Chat.cpp b/source/packets/cPacket_Chat.cpp
deleted file mode 100644
index b475848b0..000000000
--- a/source/packets/cPacket_Chat.cpp
+++ /dev/null
@@ -1,19 +0,0 @@
-
-#include "Globals.h" // NOTE: MSVC stupidness requires this to be the same across all modules
-
-#include "cPacket_Chat.h"
-
-
-
-
-
-int cPacket_Chat::Parse(cByteBuffer & a_Buffer)
-{
- int TotalBytes = 0;
- HANDLE_PACKET_READ(ReadBEUTF16String16, m_Message, TotalBytes);
- return TotalBytes;
-}
-
-
-
-
diff --git a/source/packets/cPacket_Chat.h b/source/packets/cPacket_Chat.h
deleted file mode 100644
index ff5c70b5b..000000000
--- a/source/packets/cPacket_Chat.h
+++ /dev/null
@@ -1,24 +0,0 @@
-
-#pragma once
-
-#include "cPacket.h"
-
-
-
-
-
-class cPacket_Chat :
- public cPacket
-{
-public:
- cPacket_Chat() { m_PacketID = E_CHAT; }
- virtual cPacket* Clone() const { return new cPacket_Chat(*this); }
-
- virtual int Parse(cByteBuffer & a_Buffer) override;
-
- AString m_Message;
-};
-
-
-
-
diff --git a/source/packets/cPacket_CreativeInventoryAction.cpp b/source/packets/cPacket_CreativeInventoryAction.cpp
deleted file mode 100644
index 41a45125b..000000000
--- a/source/packets/cPacket_CreativeInventoryAction.cpp
+++ /dev/null
@@ -1,40 +0,0 @@
-
-#include "Globals.h" // NOTE: MSVC stupidness requires this to be the same across all modules
-
-#include "cPacket_CreativeInventoryAction.h"
-#include "cPacket_ItemData.h"
-
-
-
-
-
-cPacket_CreativeInventoryAction::cPacket_CreativeInventoryAction( const cPacket_CreativeInventoryAction & a_Copy )
-{
- m_PacketID = E_CREATIVE_INVENTORY_ACTION;
- m_SlotNum = a_Copy.m_SlotNum;
- m_ClickedItem = a_Copy.m_ClickedItem;
-}
-
-
-
-
-
-int cPacket_CreativeInventoryAction::Parse(cByteBuffer & a_Buffer)
-{
- int TotalBytes = 0;
- HANDLE_PACKET_READ(ReadBEShort, m_SlotNum, TotalBytes);
-
- cPacket_ItemData Item(m_ClickedItem);
- int res = Item.Parse(a_Buffer);
- if (res < 0)
- {
- return res;
- }
- TotalBytes += res;
- return TotalBytes;
-}
-
-
-
-
-
diff --git a/source/packets/cPacket_CreativeInventoryAction.h b/source/packets/cPacket_CreativeInventoryAction.h
deleted file mode 100644
index 885478496..000000000
--- a/source/packets/cPacket_CreativeInventoryAction.h
+++ /dev/null
@@ -1,32 +0,0 @@
-
-#pragma once
-
-#include "cPacket.h"
-#include "../cItem.h"
-
-
-
-
-
-class cPacket_CreativeInventoryAction :
- public cPacket
-{
-public:
- cPacket_CreativeInventoryAction() :
- m_SlotNum(0)
- {
- m_PacketID = E_CREATIVE_INVENTORY_ACTION;
- }
-
- cPacket_CreativeInventoryAction( const cPacket_CreativeInventoryAction & a_Copy );
- virtual cPacket* Clone() const { return new cPacket_CreativeInventoryAction(*this); }
-
- virtual int Parse(cByteBuffer & a_Buffer) override;
-
- short m_SlotNum;
- cItem m_ClickedItem;
-} ;
-
-
-
-
diff --git a/source/packets/cPacket_Disconnect.cpp b/source/packets/cPacket_Disconnect.cpp
deleted file mode 100644
index d1d433475..000000000
--- a/source/packets/cPacket_Disconnect.cpp
+++ /dev/null
@@ -1,20 +0,0 @@
-
-#include "Globals.h" // NOTE: MSVC stupidness requires this to be the same across all modules
-
-#include "cPacket_Disconnect.h"
-
-
-
-
-
-int cPacket_Disconnect::Parse(cByteBuffer & a_Buffer)
-{
- int TotalBytes = 0;
- HANDLE_PACKET_READ(ReadBEUTF16String16, m_Reason, TotalBytes);
- return TotalBytes;
-}
-
-
-
-
-
diff --git a/source/packets/cPacket_Disconnect.h b/source/packets/cPacket_Disconnect.h
deleted file mode 100644
index 77b6cf615..000000000
--- a/source/packets/cPacket_Disconnect.h
+++ /dev/null
@@ -1,25 +0,0 @@
-
-#pragma once
-
-#include "cPacket.h"
-
-
-
-
-
-class cPacket_Disconnect : public cPacket
-{
-public:
- cPacket_Disconnect() { m_PacketID = E_DISCONNECT; }
- cPacket_Disconnect(const AString & a_Reason) { m_PacketID = E_DISCONNECT; m_Reason = a_Reason; }
- virtual cPacket* Clone() const { return new cPacket_Disconnect(*this); }
-
- virtual int Parse(cByteBuffer & a_Buffer) override;
-
- AString m_Reason;
- static const unsigned int c_Size = 3; // Minimum size
-};
-
-
-
-
diff --git a/source/packets/cPacket_Explosion.cpp b/source/packets/cPacket_Explosion.cpp
deleted file mode 100644
index d4a244c01..000000000
--- a/source/packets/cPacket_Explosion.cpp
+++ /dev/null
@@ -1,52 +0,0 @@
-
-#include "Globals.h" // NOTE: MSVC stupidness requires this to be the same across all modules
-
-#include "cPacket_Explosion.h"
-
-
-
-
-
-cPacket_Explosion::~cPacket_Explosion()
-{
- if( m_Records )
- {
- delete [] m_Records;
- }
-}
-
-
-
-
-
-cPacket_Explosion::cPacket_Explosion( const cPacket_Explosion & a_Copy )
-{
- m_PacketID = E_EXPLOSION;
- m_PosX = a_Copy.m_PosX;
- m_PosY = a_Copy.m_PosY;
- m_PosZ = a_Copy.m_PosZ;
- m_Radius = a_Copy.m_Radius; //might not be radius
- m_RecordsCount= a_Copy.m_RecordsCount;
-
- m_Records = new char[(m_RecordsCount * 3)];
- memcpy( m_Records, a_Copy.m_Records, (m_RecordsCount * 3) );
-}
-
-
-
-
-
-void cPacket_Explosion::Serialize(AString & a_Data) const
-{
- AppendByte (a_Data, m_PacketID);
- AppendDouble (a_Data, m_PosX);
- AppendDouble (a_Data, m_PosY);
- AppendDouble (a_Data, m_PosZ);
- AppendFloat (a_Data, m_Radius);
- AppendInteger(a_Data, m_RecordsCount);
- AppendData (a_Data, m_Records, (m_RecordsCount * 3));
-}
-
-
-
-
diff --git a/source/packets/cPacket_Explosion.h b/source/packets/cPacket_Explosion.h
deleted file mode 100644
index 468d72fe4..000000000
--- a/source/packets/cPacket_Explosion.h
+++ /dev/null
@@ -1,40 +0,0 @@
-
-#pragma once
-
-#include "cPacket.h"
-
-
-
-
-
-class cPacket_Explosion : public cPacket
-{
-public:
- cPacket_Explosion()
- : m_PosX( 0 )
- , m_PosY( 0 )
- , m_PosZ( 0 )
- , m_Radius( 0 )
- , m_RecordsCount( 0 )
- , m_Records( 0 )
- { m_PacketID = E_EXPLOSION; m_Records = 0; }
- cPacket_Explosion( const cPacket_Explosion & a_Copy );
- ~cPacket_Explosion();
- virtual cPacket* Clone() const { return new cPacket_Explosion(*this); }
-
- virtual void Serialize(AString & a_Data) const;
-
- double m_PosX; // The entity ID of the thunderbolt
- double m_PosY; // Always true. Might have a meaning in the future...
- double m_PosZ; // Thunderbolt X as Absolute Integer
- float m_Radius; // Thunderbolt Y as Absolute Integer
- int m_RecordsCount; // Thunderbolt Z as Absolute Integer
-
- static const unsigned int c_Size = 1 + 8 + 8 + 8 + 4 + 4;
-
- char* m_Records;
-};
-
-
-
-
diff --git a/source/packets/cPacket_Flying.cpp b/source/packets/cPacket_Flying.cpp
deleted file mode 100644
index bc730cb5e..000000000
--- a/source/packets/cPacket_Flying.cpp
+++ /dev/null
@@ -1,19 +0,0 @@
-
-#include "Globals.h" // NOTE: MSVC stupidness requires this to be the same across all modules
-
-#include "cPacket_Flying.h"
-
-
-
-
-
-int cPacket_Flying::Parse(cByteBuffer & a_Buffer)
-{
- int TotalBytes= 0;
- HANDLE_PACKET_READ(ReadBool, m_bFlying, TotalBytes);
- return TotalBytes;
-}
-
-
-
-
diff --git a/source/packets/cPacket_Flying.h b/source/packets/cPacket_Flying.h
deleted file mode 100644
index 52f33e7fd..000000000
--- a/source/packets/cPacket_Flying.h
+++ /dev/null
@@ -1,27 +0,0 @@
-
-#pragma once
-
-#include "cPacket.h"
-
-
-
-
-
-class cPacket_Flying : public cPacket
-{
-public:
- // The BS packet
- cPacket_Flying()
- : m_bFlying( false )
- { m_PacketID = E_FLYING; }
- virtual cPacket* Clone() const { return new cPacket_Flying(*this); }
-
- virtual int Parse(cByteBuffer & a_Buffer) override;
-
- bool m_bFlying;
- static const unsigned int c_Size = 2;
-};
-
-
-
-
diff --git a/source/packets/cPacket_Handshake.cpp b/source/packets/cPacket_Handshake.cpp
deleted file mode 100644
index 5229cdba3..000000000
--- a/source/packets/cPacket_Handshake.cpp
+++ /dev/null
@@ -1,19 +0,0 @@
-
-#include "Globals.h" // NOTE: MSVC stupidness requires this to be the same across all modules
-
-#include "cPacket_Handshake.h"
-
-
-
-
-
-int cPacket_Handshake::Parse(cByteBuffer & a_Buffer)
-{
- int TotalBytes = 0;
- HANDLE_PACKET_READ(ReadBEUTF16String16, m_Username, TotalBytes);
- return TotalBytes;
-}
-
-
-
-
diff --git a/source/packets/cPacket_Handshake.h b/source/packets/cPacket_Handshake.h
deleted file mode 100644
index 86bc8a286..000000000
--- a/source/packets/cPacket_Handshake.h
+++ /dev/null
@@ -1,23 +0,0 @@
-
-#pragma once
-
-#include "cPacket.h"
-
-
-
-
-
-class cPacket_Handshake : public cPacket
-{
-public:
- cPacket_Handshake() { m_PacketID = E_HANDSHAKE; }
- virtual cPacket* Clone() const { return new cPacket_Handshake(*this); }
-
- virtual int Parse(cByteBuffer & a_Buffer) override;
-
- std::string m_Username;
-};
-
-
-
-
diff --git a/source/packets/cPacket_ItemData.cpp b/source/packets/cPacket_ItemData.cpp
deleted file mode 100644
index 4f0803475..000000000
--- a/source/packets/cPacket_ItemData.cpp
+++ /dev/null
@@ -1,90 +0,0 @@
-
-#include "Globals.h" // NOTE: MSVC stupidness requires this to be the same across all modules
-
-#include "cPacket_ItemData.h"
-
-
-
-
-
-int cPacket_ItemData::Parse(cByteBuffer & a_Buffer)
-{
- int TotalBytes = 0;
- HANDLE_PACKET_READ(ReadBEShort, m_Dst.m_ItemType, TotalBytes);
-
- if (m_Dst.m_ItemType <= -1)
- {
- m_Dst.Empty();
- return TotalBytes;
- }
-
- HANDLE_PACKET_READ(ReadChar, m_Dst.m_ItemCount, TotalBytes);
- HANDLE_PACKET_READ(ReadBEShort, m_Dst.m_ItemDamage, TotalBytes);
-
- if (cItem::IsEnchantable(m_Dst.m_ItemType))
- {
- short EnchantNumBytes;
- HANDLE_PACKET_READ(ReadBEShort, EnchantNumBytes, TotalBytes);
-
- if (EnchantNumBytes > 0)
- {
- // TODO: Enchantment not implemented yet!
- a_Buffer.SkipRead(EnchantNumBytes);
- }
- }
- return TotalBytes;
-}
-
-
-
-
-
-int cPacket_ItemData::GetSize(short a_ItemID)
-{
- if(a_ItemID <= -1)
- return 2;
- if(cItem::IsEnchantable((ENUM_ITEM_ID) a_ItemID))
- return 7;
- return 5;
-}
-
-
-
-
-
-void cPacket_ItemData::AppendItem(AString & a_Data, const cItem & a_Item)
-{
- return AppendItem(a_Data, a_Item.m_ItemType, a_Item.m_ItemCount, a_Item.m_ItemDamage);
-}
-
-
-
-
-
-void cPacket_ItemData::AppendItem(AString & a_Data, short a_ItemType, char a_Quantity, short a_Damage)
-{
- short ItemType = a_ItemType;
- ASSERT(ItemType >= -1); // Check validity of packets in debug runtime
- if (ItemType <= 0)
- {
- // Fix, to make sure no invalid values are sent.
- ItemType = -1;
- }
-
- AppendShort(a_Data, ItemType);
- if (a_ItemType > -1)
- {
- AppendByte (a_Data, a_Quantity);
- AppendShort(a_Data, a_Damage);
-
- if (cItem::IsEnchantable(a_ItemType))
- {
- // TODO: Implement enchantments
- AppendShort(a_Data, (short) -1);
- }
- }
-}
-
-
-
-
diff --git a/source/packets/cPacket_ItemData.h b/source/packets/cPacket_ItemData.h
deleted file mode 100644
index e1a6c547d..000000000
--- a/source/packets/cPacket_ItemData.h
+++ /dev/null
@@ -1,34 +0,0 @@
-
-#pragma once
-
-
-#include "cPacket.h"
-#include "../cItem.h"
-
-
-
-
-
-class cPacket_ItemData : public cPacket
-{
- cItem & m_Dst;
-
-public:
- cPacket_ItemData(cItem & a_Dst) :
- m_Dst(a_Dst)
- {
- }
-
- virtual cPacket * Clone() const { return new cPacket_ItemData(*this); }
-
- virtual int Parse(cByteBuffer & a_Buffer) override;
-
- static void AppendItem(AString & a_Data, short a_ItemType, char a_Quantity, short a_Damage);
- static void AppendItem(AString & a_Data, const cItem & a_Item);
-
- int GetSize(short a_ItemID);
-} ;
-
-
-
-
diff --git a/source/packets/cPacket_ItemSwitch.cpp b/source/packets/cPacket_ItemSwitch.cpp
deleted file mode 100644
index 864214a66..000000000
--- a/source/packets/cPacket_ItemSwitch.cpp
+++ /dev/null
@@ -1,19 +0,0 @@
-
-#include "Globals.h" // NOTE: MSVC stupidness requires this to be the same across all modules
-
-#include "cPacket_ItemSwitch.h"
-
-
-
-
-
-int cPacket_ItemSwitch::Parse(cByteBuffer & a_Buffer)
-{
- int TotalBytes = 0;
- HANDLE_PACKET_READ(ReadBEShort, m_SlotNum, TotalBytes);
- return TotalBytes;
-}
-
-
-
-
diff --git a/source/packets/cPacket_ItemSwitch.h b/source/packets/cPacket_ItemSwitch.h
deleted file mode 100644
index 667b24044..000000000
--- a/source/packets/cPacket_ItemSwitch.h
+++ /dev/null
@@ -1,25 +0,0 @@
-
-#pragma once
-
-#include "cPacket.h"
-
-
-
-
-
-class cPacket_ItemSwitch : public cPacket
-{
-public:
- cPacket_ItemSwitch()
- : m_SlotNum( 0 )
- { m_PacketID = E_ITEM_SWITCH; }
- virtual cPacket* Clone() const { return new cPacket_ItemSwitch(*this); }
-
- virtual int Parse(cByteBuffer & a_Buffer) override;
-
- short m_SlotNum;
-};
-
-
-
-
diff --git a/source/packets/cPacket_KeepAlive.cpp b/source/packets/cPacket_KeepAlive.cpp
deleted file mode 100644
index 090e90671..000000000
--- a/source/packets/cPacket_KeepAlive.cpp
+++ /dev/null
@@ -1,19 +0,0 @@
-
-#include "Globals.h" // NOTE: MSVC stupidness requires this to be the same across all modules
-
-#include "cPacket_KeepAlive.h"
-
-
-
-
-
-int cPacket_KeepAlive::Parse(cByteBuffer & a_Buffer)
-{
- int TotalBytes = 0;
- HANDLE_PACKET_READ(ReadBEInt, m_KeepAliveID, TotalBytes);
- return TotalBytes;
-}
-
-
-
-
diff --git a/source/packets/cPacket_KeepAlive.h b/source/packets/cPacket_KeepAlive.h
deleted file mode 100644
index b68aa5691..000000000
--- a/source/packets/cPacket_KeepAlive.h
+++ /dev/null
@@ -1,24 +0,0 @@
-
-#pragma once
-
-#include "cPacket.h"
-
-
-
-
-
-class cPacket_KeepAlive : public cPacket
-{
-public:
- cPacket_KeepAlive() { m_PacketID = E_KEEP_ALIVE; }
- cPacket_KeepAlive(int a_PingID) { m_KeepAliveID = a_PingID; }
- virtual cPacket * Clone() const { return new cPacket_KeepAlive(*this); }
-
- virtual int Parse(cByteBuffer & a_Buffer) override;
-
- int m_KeepAliveID;
-};
-
-
-
-
diff --git a/source/packets/cPacket_Login.cpp b/source/packets/cPacket_Login.cpp
deleted file mode 100644
index 017227071..000000000
--- a/source/packets/cPacket_Login.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-
-#include "Globals.h" // NOTE: MSVC stupidness requires this to be the same across all modules
-
-#include "cPacket_Login.h"
-
-
-
-
-
-const char * cPacket_Login::LEVEL_TYPE_DEFAULT = "DEFAULT";
-const char * cPacket_Login::LEVEL_TYPE_SUPERFLAT = "SUPERFLAT";
-
-
-
-
-
-int cPacket_Login::Parse(cByteBuffer & a_Buffer)
-{
- int TotalBytes = 0;
- m_Username.clear();
- HANDLE_PACKET_READ(ReadBEInt, m_ProtocolVersion, TotalBytes);
- HANDLE_PACKET_READ(ReadBEUTF16String16, m_Username, TotalBytes);
- HANDLE_PACKET_READ(ReadBEUTF16String16, m_LevelType, TotalBytes);
- HANDLE_PACKET_READ(ReadBEInt, m_ServerMode, TotalBytes);
- HANDLE_PACKET_READ(ReadBEInt, m_Dimension, TotalBytes);
- HANDLE_PACKET_READ(ReadChar, m_Difficulty, TotalBytes);
- HANDLE_PACKET_READ(ReadByte, m_WorldHeight, TotalBytes);
- HANDLE_PACKET_READ(ReadByte, m_MaxPlayers, TotalBytes);
- return TotalBytes;
-}
-
-
-
-
diff --git a/source/packets/cPacket_Login.h b/source/packets/cPacket_Login.h
deleted file mode 100644
index df7545edd..000000000
--- a/source/packets/cPacket_Login.h
+++ /dev/null
@@ -1,41 +0,0 @@
-
-#pragma once
-
-#include "cPacket.h"
-
-
-
-
-
-class cPacket_Login : public cPacket
-{
-public:
- cPacket_Login()
- : m_ProtocolVersion( 0 )
- , m_ServerMode( 0 )
- , m_Dimension( 0 )
- , m_Difficulty( 0 )
- , m_WorldHeight( 0 )
- , m_MaxPlayers( 0 )
- , m_LevelType( LEVEL_TYPE_DEFAULT )
- { m_PacketID = E_LOGIN; }
- virtual cPacket* Clone() const { return new cPacket_Login(*this); }
-
- virtual int Parse(cByteBuffer & a_Buffer) override;
-
- int m_ProtocolVersion;
- AString m_Username;
- AString m_LevelType;
- int m_ServerMode;
- int m_Dimension;
- char m_Difficulty;
- unsigned char m_WorldHeight;
- unsigned char m_MaxPlayers;
-
- static const char * LEVEL_TYPE_DEFAULT;
- static const char * LEVEL_TYPE_SUPERFLAT;
-};
-
-
-
-
diff --git a/source/packets/cPacket_MultiBlock.cpp b/source/packets/cPacket_MultiBlock.cpp
deleted file mode 100644
index 68daf2700..000000000
--- a/source/packets/cPacket_MultiBlock.cpp
+++ /dev/null
@@ -1,49 +0,0 @@
-
-#include "Globals.h" // NOTE: MSVC stupidness requires this to be the same across all modules
-
-#include "cPacket_MultiBlock.h"
-
-
-
-
-
-cPacket_MultiBlock::cPacket_MultiBlock(const cPacket_MultiBlock & a_Copy)
-{
- m_PacketID = E_MULTI_BLOCK;
- m_ChunkX = a_Copy.m_ChunkX;
- m_ChunkZ = a_Copy.m_ChunkZ;
- m_NumBlocks = a_Copy.m_NumBlocks;
- m_Data = new sBlockChange[m_NumBlocks];
- memcpy(m_Data, a_Copy.m_Data, sizeof(sBlockChange) * m_NumBlocks);
-}
-
-
-
-
-
-cPacket_MultiBlock::~cPacket_MultiBlock()
-{
- delete[] m_Data;
-}
-
-
-
-
-
-void cPacket_MultiBlock::Serialize(AString & a_Data) const
-{
- AppendByte (a_Data, m_PacketID);
- AppendInteger(a_Data, m_ChunkX);
- AppendInteger(a_Data, m_ChunkZ);
- AppendShort (a_Data, m_NumBlocks);
-
- AppendInteger(a_Data, sizeof(*m_Data) * m_NumBlocks);
- for (short i = 0; i < m_NumBlocks; ++i)
- {
- AppendInteger(a_Data, m_Data[i].Data);
- }
-}
-
-
-
-
diff --git a/source/packets/cPacket_MultiBlock.h b/source/packets/cPacket_MultiBlock.h
deleted file mode 100644
index 7399fe853..000000000
--- a/source/packets/cPacket_MultiBlock.h
+++ /dev/null
@@ -1,43 +0,0 @@
-
-#pragma once
-
-#include "cPacket.h"
-
-
-
-
-
-class cPacket_MultiBlock : public cPacket
-{
-public:
- struct sBlockChange
- {
- unsigned int Data;
- // short Data; // 4bits metadata ... 12bits block ID
- // short Coords; // 8bits Y ... 4bits Z ... 4bits X
- };
-
- cPacket_MultiBlock()
- : m_ChunkX( 0 )
- , m_ChunkZ( 0 )
- , m_NumBlocks( 0 )
- , m_Data( NULL )
- {
- m_PacketID = E_MULTI_BLOCK;
- }
-
- cPacket_MultiBlock(const cPacket_MultiBlock & a_Copy);
- ~cPacket_MultiBlock();
- virtual cPacket* Clone() const { return new cPacket_MultiBlock(*this); }
-
- virtual void Serialize(AString & a_Data) const override;
-
- int m_ChunkX;
- int m_ChunkZ;
- short m_NumBlocks;
- sBlockChange * m_Data; // m_NumBlocks items in the array
-};
-
-
-
-
diff --git a/source/packets/cPacket_Ping.h b/source/packets/cPacket_Ping.h
deleted file mode 100644
index f74385a81..000000000
--- a/source/packets/cPacket_Ping.h
+++ /dev/null
@@ -1,24 +0,0 @@
-
-#pragma once
-
-#include "cPacket.h"
-
-
-
-
-
-class cPacket_Ping : public cPacket
-{
-public:
- cPacket_Ping()
- { m_PacketID = E_PING; }
- virtual cPacket* Clone() const { return new cPacket_Ping(*this); }
-
- virtual int Parse(cByteBuffer & a_Buffer) override {return 0; }
-
- static const unsigned int c_Size = 1;
-};
-
-
-
-
diff --git a/source/packets/cPacket_Player.cpp b/source/packets/cPacket_Player.cpp
deleted file mode 100644
index d0acc17d0..000000000
--- a/source/packets/cPacket_Player.cpp
+++ /dev/null
@@ -1,166 +0,0 @@
-
-// cPacket_Player.cpp
-
-/* Implements the player-related packets:
- - PlayerAbilities (0xca)
- - PlayerListItem (0xc9)
- - PlayerLook (0x0c)
- - PlayerMoveLook (0x0d)
- - PlayerPosition (0x0b)
-*/
-
-#include "Globals.h"
-
-#include "cPacket_Player.h"
-#include "../cPlayer.h"
-#include "../cChatColor.h"
-
-
-
-
-
-///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-// cPacket_PlayerAbilities:
-
-int cPacket_PlayerAbilities::Parse(cByteBuffer & a_Buffer)
-{
- int TotalBytes = 0;
- HANDLE_PACKET_READ(ReadBool, m_Invulnerable, TotalBytes);
- HANDLE_PACKET_READ(ReadBool, m_IsFlying, TotalBytes);
- HANDLE_PACKET_READ(ReadBool, m_CanFly, TotalBytes);
- HANDLE_PACKET_READ(ReadBool, m_InstaMine, TotalBytes);
- return TotalBytes;
-}
-
-
-
-
-
-///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-// cPacket_PlayerListItem:
-
-cPacket_PlayerListItem::cPacket_PlayerListItem(const AString & a_PlayerName, bool a_Online, short a_Ping)
-{
- m_PacketID = E_PLAYER_LIST_ITEM;
- m_PlayerName = a_PlayerName;
- m_Online = a_Online;
- m_Ping = a_Ping;
-}
-
-
-
-
-
-int cPacket_PlayerListItem::Parse(cByteBuffer & a_Buffer)
-{
- int TotalBytes = 0;
- HANDLE_PACKET_READ(ReadBEUTF16String16, m_PlayerName, TotalBytes);
- HANDLE_PACKET_READ(ReadBool, m_Online, TotalBytes);
- HANDLE_PACKET_READ(ReadBEShort, m_Ping, TotalBytes);
- return TotalBytes;
-}
-
-
-
-
-
-///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-// cPacket_PlayerLook:
-
-cPacket_PlayerLook::cPacket_PlayerLook( cPlayer* a_Player )
-{
- m_PacketID = E_PLAYERLOOK;
- m_Rotation = a_Player->GetRotation();
- m_Pitch = a_Player->GetPitch();
- m_IsOnGround = a_Player->IsOnGround();
-}
-
-
-
-
-
-int cPacket_PlayerLook::Parse(cByteBuffer & a_Buffer)
-{
- int TotalBytes = 0;
- HANDLE_PACKET_READ(ReadBEFloat, m_Rotation, TotalBytes);
- HANDLE_PACKET_READ(ReadBEFloat, m_Pitch, TotalBytes);
- HANDLE_PACKET_READ(ReadBool, m_IsOnGround, TotalBytes);
- return TotalBytes;
-}
-
-
-
-
-
-///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-// cPacket_PlayerMoveLook:
-
-cPacket_PlayerMoveLook::cPacket_PlayerMoveLook(const cPlayer & a_Player)
-{
- m_PacketID = E_PLAYERMOVELOOK;
- m_PosX = a_Player.GetPosX();
- m_PosY = a_Player.GetPosY() + 0.03; // Add a small amount so that the player doesn't start inside a block
- m_PosZ = a_Player.GetPosZ();
- m_Stance = a_Player.GetStance() + 0.03; // Add a small amount so that the player doesn't start inside a block
- m_Rotation = a_Player.GetRotation();
- m_Pitch = a_Player.GetPitch();
- m_IsOnGround = a_Player.IsOnGround();
-}
-
-
-
-
-
-int cPacket_PlayerMoveLook::Parse(cByteBuffer & a_Buffer)
-{
- // NOTE that Stance and Y are swapped when sent C->S vs S->C
- // This is the C->S case:
- int TotalBytes = 0;
- HANDLE_PACKET_READ(ReadBEDouble, m_PosX, TotalBytes);
- HANDLE_PACKET_READ(ReadBEDouble, m_PosY, TotalBytes);
- HANDLE_PACKET_READ(ReadBEDouble, m_Stance, TotalBytes);
- HANDLE_PACKET_READ(ReadBEDouble, m_PosZ, TotalBytes);
- HANDLE_PACKET_READ(ReadBEFloat, m_Rotation, TotalBytes);
- HANDLE_PACKET_READ(ReadBEFloat, m_Pitch, TotalBytes);
- HANDLE_PACKET_READ(ReadBool, m_IsOnGround, TotalBytes);
- // LOGD("Recv PML: {%0.2f, %0.2f, %0.2f}, Stance %0.2f, Gnd: %d", m_PosX, m_PosY, m_PosZ, m_Stance, m_IsOnGround ? 1 : 0);
- return TotalBytes;
-}
-
-
-
-
-
-///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-// cPacket_PlayerPosition:
-
-cPacket_PlayerPosition::cPacket_PlayerPosition(const cPlayer & a_Player)
-{
- m_PacketID = E_PLAYERPOS;
-
- m_PosX = a_Player.GetPosX();
- m_PosY = a_Player.GetPosY();
- m_PosZ = a_Player.GetPosZ();
- m_Stance = a_Player.GetStance();
- m_IsOnGround = a_Player.IsOnGround();
-}
-
-
-
-
-
-int cPacket_PlayerPosition::Parse(cByteBuffer & a_Buffer)
-{
- int TotalBytes = 0;
- HANDLE_PACKET_READ(ReadBEDouble, m_PosX, TotalBytes);
- HANDLE_PACKET_READ(ReadBEDouble, m_PosY, TotalBytes);
- HANDLE_PACKET_READ(ReadBEDouble, m_Stance, TotalBytes);
- HANDLE_PACKET_READ(ReadBEDouble, m_PosZ, TotalBytes);
- HANDLE_PACKET_READ(ReadBool, m_IsOnGround, TotalBytes);
- // LOGD("Recv PlayerPos: {%0.2f %0.2f %0.2f}, Stance %0.2f, Gnd: %d", m_PosX, m_PosY, m_PosZ, m_Stance, m_IsOnGround ? 1 : 0);
- return TotalBytes;
-}
-
-
-
-
diff --git a/source/packets/cPacket_Player.h b/source/packets/cPacket_Player.h
deleted file mode 100644
index 1a647a5fc..000000000
--- a/source/packets/cPacket_Player.h
+++ /dev/null
@@ -1,151 +0,0 @@
-
-// cPacket_Player.h
-
-/* Interfaces to the player-related packets:
- - PlayerAbilities (0xca)
- - PlayerListItem (0xc9)
- - PlayerLook (0x0c)
- - PlayerMoveLook (0x0d)
- - PlayerPosition (0x0b)
-*/
-
-#pragma once
-
-
-
-
-
-#include "cPacket.h"
-
-
-
-
-
-// fwd:
-class cPlayer;
-
-
-
-
-
-class cPacket_PlayerAbilities : public cPacket
-{
-public:
- cPacket_PlayerAbilities(void) { m_PacketID = E_PLAYER_LIST_ITEM; }
-
- virtual int Parse(cByteBuffer & a_Buffer) override;
-
- virtual cPacket * Clone() const { return new cPacket_PlayerAbilities(*this); }
-
- bool m_Invulnerable; // Speculation
- bool m_IsFlying;
- bool m_CanFly;
- bool m_InstaMine; // Speculation
-} ;
-
-
-
-
-
-class cPacket_PlayerListItem : public cPacket
-{
-public:
- cPacket_PlayerListItem() { m_PacketID = E_PLAYER_LIST_ITEM; }
- cPacket_PlayerListItem(const AString & a_PlayerName, bool a_Online, short a_Ping);
-
- virtual int Parse(cByteBuffer & a_Buffer) override;
-
- virtual cPacket* Clone() const { return new cPacket_PlayerListItem(*this); }
-
- AString m_PlayerName; // Supports chat coloring, limited to 16 characters.
- bool m_Online;
- short m_Ping;
-} ;
-
-
-
-
-
-class cPacket_PlayerLook : public cPacket
-{
-public:
- cPacket_PlayerLook()
- : m_Rotation( 0 )
- , m_Pitch( 0 )
- , m_IsOnGround( false )
- {
- m_PacketID = E_PLAYERLOOK;
- }
-
- cPacket_PlayerLook( cPlayer* a_Player );
- virtual cPacket* Clone() const { return new cPacket_PlayerLook(*this); }
-
- virtual int Parse(cByteBuffer & a_Buffer) override;
-
- float m_Rotation;
- float m_Pitch;
- bool m_IsOnGround;
-} ;
-
-
-
-
-
-class cPacket_PlayerMoveLook : public cPacket
-{
-public:
- cPacket_PlayerMoveLook()
- : m_PosX( 0.0 )
- , m_PosY( 0.0 )
- , m_Stance( 0.0 )
- , m_PosZ( 0.0 )
- , m_Rotation( 0.f )
- , m_Pitch( 0.f )
- , m_IsOnGround( false )
- {
- m_PacketID = E_PLAYERMOVELOOK;
- }
-
- cPacket_PlayerMoveLook(const cPlayer & a_Player);
- virtual cPacket * Clone() const { return new cPacket_PlayerMoveLook(*this); }
-
- virtual int Parse(cByteBuffer & a_Buffer) override;
-
- double m_PosX;
- double m_PosY;
- double m_Stance;
- double m_PosZ;
- float m_Rotation;
- float m_Pitch;
- bool m_IsOnGround;
-} ;
-
-
-
-
-
-class cPacket_PlayerPosition : public cPacket
-{
-public:
- cPacket_PlayerPosition(const cPlayer & a_Player);
- cPacket_PlayerPosition()
- : m_PosX( 0.0 )
- , m_PosY( 0.0 )
- , m_PosZ( 0.0 )
- , m_Stance( 0.0 )
- , m_IsOnGround(true)
- { m_PacketID = E_PLAYERPOS; }
- virtual cPacket* Clone() const { return new cPacket_PlayerPosition(*this); }
-
- virtual int Parse(cByteBuffer & a_Buffer) override;
-
- double m_PosX;
- double m_PosY;
- double m_PosZ;
- double m_Stance;
- bool m_IsOnGround;
-} ;
-
-
-
-
diff --git a/source/packets/cPacket_Respawn.cpp b/source/packets/cPacket_Respawn.cpp
deleted file mode 100644
index 0e46ea01e..000000000
--- a/source/packets/cPacket_Respawn.cpp
+++ /dev/null
@@ -1,24 +0,0 @@
-
-#include "Globals.h" // NOTE: MSVC stupidness requires this to be the same across all modules
-
-#include "cPacket_Respawn.h"
-
-
-
-
-
-int cPacket_Respawn::Parse(cByteBuffer & a_Buffer)
-{
- int TotalBytes = 0;
-
- HANDLE_PACKET_READ(ReadBEInt, m_Dimension, TotalBytes);
- HANDLE_PACKET_READ(ReadChar, m_Difficulty, TotalBytes);
- HANDLE_PACKET_READ(ReadChar, m_CreativeMode, TotalBytes);
- HANDLE_PACKET_READ(ReadBEShort, m_WorldHeight, TotalBytes);
- HANDLE_PACKET_READ(ReadBEUTF16String16, m_LevelType, TotalBytes);
- return TotalBytes;
-}
-
-
-
-
diff --git a/source/packets/cPacket_Respawn.h b/source/packets/cPacket_Respawn.h
deleted file mode 100644
index 9292658e7..000000000
--- a/source/packets/cPacket_Respawn.h
+++ /dev/null
@@ -1,38 +0,0 @@
-
-#pragma once
-
-#include "cPacket.h"
-#include "cPacket_Login.h"
-
-
-
-
-
-class cPacket_Respawn :
- public cPacket
-{
-public:
- cPacket_Respawn()
- : m_Dimension(0)
- , m_Difficulty(0)
- , m_CreativeMode(0)
- , m_WorldHeight(256)
- , m_LevelType( cPacket_Login::LEVEL_TYPE_DEFAULT )
- {
- m_PacketID = E_RESPAWN;
- }
-
- virtual cPacket * Clone() const { return new cPacket_Respawn( *this ); }
-
- virtual int Parse(cByteBuffer & a_Buffer) override;
-
- int m_Dimension;
- char m_Difficulty;
- char m_CreativeMode;
- short m_WorldHeight;
- AString m_LevelType;
-};
-
-
-
-
diff --git a/source/packets/cPacket_SoundEffect.cpp b/source/packets/cPacket_SoundEffect.cpp
deleted file mode 100644
index efc9b8e6b..000000000
--- a/source/packets/cPacket_SoundEffect.cpp
+++ /dev/null
@@ -1,36 +0,0 @@
-
-#include "Globals.h" // NOTE: MSVC stupidness requires this to be the same across all modules
-
-#include "cPacket_SoundEffect.h"
-
-
-
-
-
-cPacket_SoundEffect::cPacket_SoundEffect( const cPacket_SoundEffect & a_Copy )
-{
- m_PacketID = E_SOUND_EFFECT;
- m_SoundID = a_Copy.m_SoundID;
- m_PosX = a_Copy.m_PosX;
- m_PosY = a_Copy.m_PosY;
- m_PosZ = a_Copy.m_PosZ;
- m_SoundData = a_Copy.m_SoundData;
-}
-
-
-
-
-
-void cPacket_SoundEffect::Serialize(AString & a_Data) const
-{
- AppendByte (a_Data, m_PacketID);
- AppendInteger(a_Data, m_SoundID);
- AppendInteger(a_Data, m_PosX);
- AppendByte (a_Data, m_PosY);
- AppendInteger(a_Data, m_PosZ);
- AppendInteger(a_Data, m_SoundData);
-}
-
-
-
-
diff --git a/source/packets/cPacket_SoundEffect.h b/source/packets/cPacket_SoundEffect.h
deleted file mode 100644
index 9293d53f0..000000000
--- a/source/packets/cPacket_SoundEffect.h
+++ /dev/null
@@ -1,36 +0,0 @@
-
-#pragma once
-
-#include "cPacket.h"
-
-
-
-
-
-class cPacket_SoundEffect : public cPacket
-{
-public:
- cPacket_SoundEffect()
- : m_SoundID( 0 )
- , m_PosX( 0 )
- , m_PosY( 0 )
- , m_PosZ( 0 )
- , m_SoundData( 0 )
- { m_PacketID = E_SOUND_EFFECT; }
- cPacket_SoundEffect( const cPacket_SoundEffect & a_Copy );
- virtual cPacket* Clone() const { return new cPacket_SoundEffect(*this); }
-
- virtual void Serialize(AString & a_Data) const override;
-
- int m_SoundID; // Sound ID
- int m_PosX; // Block X Coordinate
- char m_PosY; // Block Y Coordinate
- int m_PosZ; // Block Z Coordinate
- int m_SoundData;// Extra Sound Data
-
- static const unsigned int c_Size = 1 + 4 + 4 + 1 + 4 + 4;
-};
-
-
-
-
diff --git a/source/packets/cPacket_UpdateSign.cpp b/source/packets/cPacket_UpdateSign.cpp
deleted file mode 100644
index b258fc9c3..000000000
--- a/source/packets/cPacket_UpdateSign.cpp
+++ /dev/null
@@ -1,25 +0,0 @@
-
-#include "Globals.h" // NOTE: MSVC stupidness requires this to be the same across all modules
-
-#include "cPacket_UpdateSign.h"
-
-
-
-
-
-int cPacket_UpdateSign::Parse(cByteBuffer & a_Buffer)
-{
- int TotalBytes = 0;
- HANDLE_PACKET_READ(ReadBEInt, m_BlockX, TotalBytes);
- HANDLE_PACKET_READ(ReadBEShort, m_BlockY, TotalBytes);
- HANDLE_PACKET_READ(ReadBEInt, m_BlockZ, TotalBytes);
- HANDLE_PACKET_READ(ReadBEUTF16String16, m_Line1, TotalBytes);
- HANDLE_PACKET_READ(ReadBEUTF16String16, m_Line2, TotalBytes);
- HANDLE_PACKET_READ(ReadBEUTF16String16, m_Line3, TotalBytes);
- HANDLE_PACKET_READ(ReadBEUTF16String16, m_Line4, TotalBytes);
- return TotalBytes;
-}
-
-
-
-
diff --git a/source/packets/cPacket_UpdateSign.h b/source/packets/cPacket_UpdateSign.h
deleted file mode 100644
index e7b4977b2..000000000
--- a/source/packets/cPacket_UpdateSign.h
+++ /dev/null
@@ -1,36 +0,0 @@
-
-#pragma once
-
-#include "cPacket.h"
-
-
-
-
-
-class cPacket_UpdateSign : public cPacket
-{
-public:
- cPacket_UpdateSign()
- : m_BlockX( 0 )
- , m_BlockY( 0 )
- , m_BlockZ( 0 )
- {
- m_PacketID = E_UPDATE_SIGN;
- }
-
- virtual cPacket * Clone() const { return new cPacket_UpdateSign( *this); }
-
- virtual int Parse(cByteBuffer & a_Buffer) override;
-
- int m_BlockX;
- short m_BlockY;
- int m_BlockZ;
- AString m_Line1;
- AString m_Line2;
- AString m_Line3;
- AString m_Line4;
-};
-
-
-
-
diff --git a/source/packets/cPacket_UseEntity.cpp b/source/packets/cPacket_UseEntity.cpp
deleted file mode 100644
index 9ecb3bffc..000000000
--- a/source/packets/cPacket_UseEntity.cpp
+++ /dev/null
@@ -1,21 +0,0 @@
-
-#include "Globals.h" // NOTE: MSVC stupidness requires this to be the same across all modules
-
-#include "cPacket_UseEntity.h"
-
-
-
-
-
-int cPacket_UseEntity::Parse(cByteBuffer & a_Buffer)
-{
- int TotalBytes = 0;
- HANDLE_PACKET_READ(ReadBEInt, m_SourceEntityID, TotalBytes);
- HANDLE_PACKET_READ(ReadBEInt, m_TargetEntityID, TotalBytes);
- HANDLE_PACKET_READ(ReadBool, m_IsLeftClick, TotalBytes);
- return TotalBytes;
-}
-
-
-
-
diff --git a/source/packets/cPacket_UseEntity.h b/source/packets/cPacket_UseEntity.h
deleted file mode 100644
index ff33ccd93..000000000
--- a/source/packets/cPacket_UseEntity.h
+++ /dev/null
@@ -1,33 +0,0 @@
-
-#pragma once
-
-#include "cPacket.h"
-
-
-
-
-
-class cPacket_UseEntity :
- public cPacket
-{
-public:
- cPacket_UseEntity()
- : m_SourceEntityID(0)
- , m_TargetEntityID(0)
- , m_IsLeftClick(false)
- {
- m_PacketID = E_USE_ENTITY;
- }
-
- virtual cPacket * Clone() const { return new cPacket_UseEntity(*this); }
-
- virtual int Parse(cByteBuffer & a_Buffer) override;
-
- int m_SourceEntityID;
- int m_TargetEntityID;
- bool m_IsLeftClick;
-};
-
-
-
-
diff --git a/source/packets/cPacket_WindowClick.cpp b/source/packets/cPacket_WindowClick.cpp
deleted file mode 100644
index a0a7afbda..000000000
--- a/source/packets/cPacket_WindowClick.cpp
+++ /dev/null
@@ -1,33 +0,0 @@
-
-#include "Globals.h" // NOTE: MSVC stupidness requires this to be the same across all modules
-
-#include "cPacket_WindowClick.h"
-#include "cPacket_ItemData.h"
-
-
-
-
-
-int cPacket_WindowClick::Parse(cByteBuffer & a_Buffer)
-{
- int TotalBytes = 0;
- HANDLE_PACKET_READ(ReadChar, m_WindowID, TotalBytes);
- HANDLE_PACKET_READ(ReadBEShort, m_SlotNum, TotalBytes);
- HANDLE_PACKET_READ(ReadBool, m_IsRightClick, TotalBytes);
- HANDLE_PACKET_READ(ReadBEShort, m_TransactionID, TotalBytes);
- HANDLE_PACKET_READ(ReadBool, m_IsShiftPressed, TotalBytes);
-
- cPacket_ItemData Item(m_HeldItem);
- int res = Item.Parse(a_Buffer);
- if (res < 0)
- {
- return res;
- }
- TotalBytes += res;
-
- return TotalBytes;
-}
-
-
-
-
diff --git a/source/packets/cPacket_WindowClick.h b/source/packets/cPacket_WindowClick.h
deleted file mode 100644
index e0f6f964e..000000000
--- a/source/packets/cPacket_WindowClick.h
+++ /dev/null
@@ -1,39 +0,0 @@
-
-#pragma once
-
-#include "cPacket.h"
-#include "../cItem.h"
-
-
-
-
-
-class cPacket_WindowClick : public cPacket // [C -> S]
-{
-public:
- cPacket_WindowClick()
- : m_WindowID( 0 )
- , m_SlotNum( 0 )
- , m_IsRightClick(false)
- , m_TransactionID( 0 )
- , m_IsShiftPressed( false )
- {
- m_PacketID = E_WINDOW_CLICK;
- }
-
- virtual cPacket* Clone() const { return new cPacket_WindowClick(*this); }
-
- virtual int Parse(cByteBuffer & a_Buffer) override;
-
- char m_WindowID;
- short m_SlotNum;
- bool m_IsRightClick;
- short m_TransactionID;
- bool m_IsShiftPressed; // Shift pressed when clicked?
-
- cItem m_HeldItem;
-};
-
-
-
-
diff --git a/source/packets/cPacket_WindowClose.cpp b/source/packets/cPacket_WindowClose.cpp
deleted file mode 100644
index f1280ae28..000000000
--- a/source/packets/cPacket_WindowClose.cpp
+++ /dev/null
@@ -1,19 +0,0 @@
-
-#include "Globals.h" // NOTE: MSVC stupidness requires this to be the same across all modules
-
-#include "cPacket_WindowClose.h"
-
-
-
-
-
-int cPacket_WindowClose::Parse(cByteBuffer & a_Buffer)
-{
- int TotalBytes = 0;
- HANDLE_PACKET_READ(ReadChar, m_WindowID, TotalBytes);
- return TotalBytes;
-}
-
-
-
-
diff --git a/source/packets/cPacket_WindowClose.h b/source/packets/cPacket_WindowClose.h
deleted file mode 100644
index 0851fa20d..000000000
--- a/source/packets/cPacket_WindowClose.h
+++ /dev/null
@@ -1,28 +0,0 @@
-
-#pragma once
-
-#include "cPacket.h"
-
-
-
-
-
-class cPacket_WindowClose : public cPacket
-{
-public:
- cPacket_WindowClose()
- : m_WindowID( 0 )
- {
- m_PacketID = E_WINDOW_CLOSE;
- }
-
- virtual cPacket* Clone() const { return new cPacket_WindowClose(*this); }
-
- virtual int Parse(cByteBuffer & a_Buffer) override;
-
- char m_WindowID;
-};
-
-
-
-