Add InvRef:get_location()
[oweals/minetest.git] / src / client.cpp
index cb7afe29f8fe8bc5ed0bc39e5d5dd95c07938c48..216d86cd412c6d0ffa0e9ae3cd1d8593614887e5 100644 (file)
@@ -1900,6 +1900,20 @@ void Client::ProcessData(u8 *data, u32 datasize, u16 sender_peer_id)
                }
                inv->deSerialize(is);
        }
+       else if(command == TOCLIENT_SHOW_FORMSPEC)
+       {
+               std::string datastring((char*)&data[2], datasize-2);
+               std::istringstream is(datastring, std::ios_base::binary);
+
+               std::string formspec = deSerializeLongString(is);
+
+               ClientEvent event;
+               event.type = CE_SHOW_FORMSPEC;
+               // pointer is required as event is a struct only!
+               // adding a std:string to a struct isn't possible
+               event.show_formspec.formspec = new std::string(formspec);
+               m_client_event_queue.push_back(event);
+       }
        else
        {
                infostream<<"Client: Ignoring unknown command "