From dd0ce3287ffddf3fd0dd5d7af1ebda60bd871c85 Mon Sep 17 00:00:00 2001 From: LogicParrot Date: Sun, 27 Mar 2016 20:43:30 +0300 Subject: Players never fall through unloaded chunks or end up inside solids on teleport --- src/ClientHandle.h | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'src/ClientHandle.h') diff --git a/src/ClientHandle.h b/src/ClientHandle.h index 899b0a5ab..123d1b057 100644 --- a/src/ClientHandle.h +++ b/src/ClientHandle.h @@ -363,6 +363,8 @@ public: // tolua_export /** Returns the protocol version number of the protocol that the client is talking. Returns zero if the protocol version is not (yet) known. */ UInt32 GetProtocolVersion(void) const { return m_ProtocolVersion; } // tolua_export + void InvalidateCachedSentChunk(); + private: friend class cServer; // Needs access to SetSelf() @@ -408,6 +410,13 @@ private: cPlayer * m_Player; + /** This is an optimization which saves you an iteration of m_SentChunks if you just want to know + whether or not the player is standing at a sent chunk. + If this is equal to the coordinates of the chunk the player is currrently standing at, then this must be a sent chunk + and a member of m_SentChunks. + Otherwise, this contains an arbitrary value which should not be used. */ + cChunkCoords m_CachedSentChunk; + bool m_HasSentDC; ///< True if a Disconnect packet has been sent in either direction // Chunk position when the last StreamChunks() was called; used to avoid re-streaming while in the same chunk -- cgit v1.2.3