Fix mapgen using unitialised height map values
[oweals/minetest.git] / src / clientiface.h
index 5452ccddbdf5a08cb642ac35d3f4cab2adc8c129..2f265b128f6010158a023b391a65c585d5325ddd 100644 (file)
@@ -24,6 +24,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
 #include "constants.h"
 #include "serialization.h"             // for SER_FMT_VER_INVALID
 #include "jthread/jmutex.h"
+#include "network/networkpacket.h"
 
 #include <list>
 #include <vector>
@@ -238,6 +239,14 @@ public:
        void SetBlockNotSent(v3s16 p);
        void SetBlocksNotSent(std::map<v3s16, MapBlock*> &blocks);
 
+       /**
+        * tell client about this block being modified right now.
+        * this information is required to requeue the block in case it's "on wire"
+        * while modification is processed by server
+        * @param p position of modified block
+        */
+       void ResendBlockIfOnWire(v3s16 p);
+
        s32 SendingCount()
        {
                return m_blocks_sending.size();
@@ -379,16 +388,16 @@ public:
        void step(float dtime);
 
        /* get list of active client id's */
-       std::list<u16> getClientIDs(ClientState min_state=CS_Active);
+       std::vector<u16> getClientIDs(ClientState min_state=CS_Active);
 
        /* get list of client player names */
        std::vector<std::string> getPlayerNames();
 
        /* send message to client */
-       void send(u16 peer_id, u8 channelnum, SharedBuffer<u8> data, bool reliable);
+       void send(u16 peer_id, u8 channelnum, NetworkPacket* pkt, bool reliable, bool deletepkt=true);
 
        /* send to all clients */
-       void sendToAll(u16 channelnum, SharedBuffer<u8> data, bool reliable);
+       void sendToAll(u16 channelnum, NetworkPacket* pkt, bool reliable);
 
        /* delete a client */
        void DeleteClient(u16 peer_id);
@@ -449,7 +458,7 @@ private:
        JMutex m_env_mutex;
 
        float m_print_info_timer;
-       
+
        static const char *statenames[];
 };