Improve glass
[oweals/minetest.git] / src / clientserver.h
index 717e657b710deb4982e97c5e4fff921a93cd8b80..cd54fe239749a9836641f9a975d2148ad3923b21 100644 (file)
@@ -22,6 +22,19 @@ with this program; if not, write to the Free Software Foundation, Inc.,
 
 #include "utility.h"
 
+/*
+       changes by PROTOCOL_VERSION:
+
+       PROTOCOL_VERSION 3:
+               Base for writing changes here
+       PROTOCOL_VERSION 4:
+               Add TOCLIENT_TOOLDEF
+               Add TOCLIENT_TEXTURES
+               Add TOCLIENT_NODEDEF
+*/
+
+#define PROTOCOL_VERSION 4
+
 #define PROTOCOL_ID 0x4f457403
 
 #define PASSWORD_SIZE 28       // Maximum password length. Allows for
@@ -90,6 +103,7 @@ enum ToClientCommand
                u16 command
                u16 number of player positions
                for each player:
+                       u16 peer_id
                        v3s32 position*100
                        v3s32 speed*100
                        s32 pitch*100
@@ -106,6 +120,8 @@ enum ToClientCommand
                u16 time (0-23999)
        */
 
+       // (oops, there is some gap here)
+
        TOCLIENT_CHAT_MESSAGE = 0x30,
        /*
                u16 command
@@ -124,7 +140,7 @@ enum ToClientCommand
                for all added objects {
                        u16 id
                        u8 type
-                       u16 initialization data length
+                       u32 initialization data length
                        string initialization data
                }
        */
@@ -160,6 +176,56 @@ enum ToClientCommand
                u16 reason_length
                wstring reason
        */
+
+       TOCLIENT_PLAYERITEM = 0x36,
+       /*
+               u16 command
+               u16 count of player items
+               for all player items {
+                       u16 peer id
+                       u16 length of serialized item
+                       string serialized item
+               }
+       */
+
+       TOCLIENT_DEATHSCREEN = 0x37,
+       /*
+               u16 command
+               u8 bool set camera point target
+               v3f1000 camera point target (to point the death cause or whatever)
+       */
+
+       TOCLIENT_TOOLDEF = 0x38,
+       /*
+               u16 command
+               u32 length of the next item
+               serialized ToolDefManager
+       */
+       
+       TOCLIENT_TEXTURES = 0x39,
+       /*
+               u16 command
+               u32 number of textures
+               for each texture {
+                       u16 length of name
+                       string name
+                       u32 length of data
+                       data
+               }
+       */
+       
+       TOCLIENT_NODEDEF = 0x3a,
+       /*
+               u16 command
+               u32 length of the next item
+               serialized NodeDefManager
+       */
+       
+       //TOCLIENT_CONTENT_SENDING_MODE = 0x38,
+       /*
+               u16 command
+               u8 mode (0 = off, 1 = on)
+       */
 };
 
 enum ToServerCommand
@@ -248,6 +314,8 @@ enum ToServerCommand
        
        TOSERVER_RELEASE = 0x29, // Obsolete
 
+       // (oops, there is some gap here)
+
        TOSERVER_SIGNTEXT = 0x30, // Old signs
        /*
                u16 command
@@ -308,7 +376,11 @@ enum ToServerCommand
                [0] u16 TOSERVER_PLAYERITEM
                [2] u16 item
        */
-
+       
+       TOSERVER_RESPAWN=0x38,
+       /*
+               u16 TOSERVER_RESPAWN
+       */
 };
 
 inline SharedBuffer<u8> makePacket_TOCLIENT_TIME_OF_DAY(u16 time)