summaryrefslogtreecommitdiff
path: root/src/client.cpp
diff options
context:
space:
mode:
authorKahrl <kahrl@gmx.net>2013-05-04 02:08:52 +0200
committerKahrl <kahrl@gmx.net>2013-05-26 00:23:33 +0200
commit96fe1de8322a57ad82fcab3540c1eb44f74b9989 (patch)
tree44bc5db4e9d002f2a1fb6506db72e390cabae249 /src/client.cpp
parent730d316efe18c57760cd5ec518a6191ac271ce61 (diff)
downloadminetest-96fe1de8322a57ad82fcab3540c1eb44f74b9989.tar.gz
minetest-96fe1de8322a57ad82fcab3540c1eb44f74b9989.tar.bz2
minetest-96fe1de8322a57ad82fcab3540c1eb44f74b9989.zip
Add ObjectRef.hud_set_hotbar_itemcount and add TOCLIENT_HUD_SET_PARAM
Diffstat (limited to 'src/client.cpp')
-rw-r--r--src/client.cpp17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/client.cpp b/src/client.cpp
index e4ca52dd5..6b1789fe0 100644
--- a/src/client.cpp
+++ b/src/client.cpp
@@ -2136,6 +2136,23 @@ void Client::ProcessData(u8 *data, u32 datasize, u16 sender_peer_id)
player->hud_flags &= ~mask;
player->hud_flags |= flags;
}
+ else if(command == TOCLIENT_HUD_SET_PARAM)
+ {
+ std::string datastring((char *)&data[2], datasize - 2);
+ std::istringstream is(datastring, std::ios_base::binary);
+
+ Player *player = m_env.getLocalPlayer();
+ assert(player != NULL);
+
+ u16 param = readU16(is);
+ std::string value = deSerializeString(is);
+
+ if(param == HUD_PARAM_HOTBAR_ITEMCOUNT && value.size() == 4){
+ s32 hotbar_itemcount = readS32((u8*) value.c_str());
+ if(hotbar_itemcount > 0 && hotbar_itemcount <= HUD_HOTBAR_ITEMCOUNT_MAX)
+ player->hud_hotbar_itemcount = hotbar_itemcount;
+ }
+ }
else
{
infostream<<"Client: Ignoring unknown command "