]> git.lizzy.rs Git - dragonfireclient.git/blobdiff - src/clientserver.h
Increase performance of getLight() by at least 2x
[dragonfireclient.git] / src / clientserver.h
index 5c541863288613afd21854a333d2e82b576126fb..5f7864768be145d559b397a2ed401ef8da0d3e7c 100644 (file)
@@ -19,6 +19,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
 
 #ifndef CLIENTSERVER_HEADER
 #define CLIENTSERVER_HEADER
+#include "util/string.h"
 
 /*
        changes by PROTOCOL_VERSION:
@@ -104,9 +105,12 @@ with this program; if not, write to the Free Software Foundation, Inc.,
                add swap_node
        PROTOCOL_VERSION 23:
                TOSERVER_CLIENT_READY
+       PROTOCOL_VERSION 24:
+               ContentFeatures version 7
+               ContentFeatures: change number of special tiles to 6 (CF_SPECIAL_COUNT)
 */
 
-#define LATEST_PROTOCOL_VERSION 23
+#define LATEST_PROTOCOL_VERSION 24
 
 // Server's supported network protocol range
 #define SERVER_PROTOCOL_VERSION_MIN 13
@@ -122,6 +126,9 @@ with this program; if not, write to the Free Software Foundation, Inc.,
 #define PASSWORD_SIZE 28       // Maximum password length. Allows for
                                // base64-encoded SHA-1 (27+\0).
 
+#define FORMSPEC_API_VERSION 1
+#define FORMSPEC_VERSION_STRING "formspec_version[" TOSTRING(FORMSPEC_API_VERSION) "]"
+
 #define TEXTURENAME_ALLOWED_CHARS "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_.-"
 
 enum ToClientCommand
@@ -150,7 +157,7 @@ enum ToClientCommand
                u8 keep_metadata // Added in protocol version 22
        */
        TOCLIENT_REMOVENODE = 0x22,
-       
+
        TOCLIENT_PLAYERPOS = 0x23, // Obsolete
        /*
                [0] u16 command
@@ -171,7 +178,7 @@ enum ToClientCommand
                [N] u16 peer_id
                [N] char[20] name
        */
-       
+
        TOCLIENT_OPT_BLOCK_NOT_FOUND = 0x25, // Obsolete
 
        TOCLIENT_SECTORMETA = 0x26, // Obsolete
@@ -186,7 +193,7 @@ enum ToClientCommand
                [0] u16 command
                [2] serialized inventory
        */
-       
+
        TOCLIENT_OBJECTDATA = 0x28, // Obsolete
        /*
                Sent as unreliable.
@@ -237,7 +244,7 @@ enum ToClientCommand
                        string initialization data
                }
        */
-       
+
        TOCLIENT_ACTIVE_OBJECT_MESSAGES = 0x32,
        /*
                u16 command
@@ -303,21 +310,21 @@ enum ToClientCommand
                u16 length of remote media server url (if applicable)
                string url
        */
-       
+
        TOCLIENT_TOOLDEF = 0x39,
        /*
                u16 command
                u32 length of the next item
                serialized ToolDefManager
        */
-       
+
        TOCLIENT_NODEDEF = 0x3a,
        /*
                u16 command
                u32 length of the next item
                serialized NodeDefManager
        */
-       
+
        TOCLIENT_CRAFTITEMDEF = 0x3b,
        /*
                u16 command
@@ -344,7 +351,7 @@ enum ToClientCommand
                u32 length of next item
                serialized ItemDefManager
        */
-       
+
        TOCLIENT_PLAY_SOUND = 0x3f,
        /*
                u16 command
@@ -472,6 +479,8 @@ enum ToClientCommand
                u32 dir
                v2f1000 align
                v2f1000 offset
+               v3f1000 world_pos
+               v2s32 size
        */
 
        TOCLIENT_HUDRM = 0x4a,
@@ -530,6 +539,23 @@ enum ToClientCommand
                u8 do_override (boolean)
                u16 day-night ratio 0...65535
        */
+
+       TOCLIENT_LOCAL_PLAYER_ANIMATIONS = 0x51,
+       /*
+               u16 command
+               v2s32 stand/idle
+               v2s32 walk
+               v2s32 dig
+               v2s32 walk+dig
+               f1000 frame_speed
+       */
+
+       TOCLIENT_EYE_OFFSET = 0x52,
+       /*
+               u16 command
+               v3f1000 first
+               v3f1000 third
+       */
 };
 
 enum ToServerCommand
@@ -617,7 +643,7 @@ enum ToServerCommand
                2: stop digging (all parameters ignored)
                3: digging completed
        */
-       
+
        TOSERVER_RELEASE = 0x29, // Obsolete
 
        // (oops, there is some gap here)
@@ -659,7 +685,7 @@ enum ToServerCommand
                [3] u16 id
                [5] u16 item
        */
-       
+
        TOSERVER_DAMAGE = 0x35,
        /*
                u16 command
@@ -682,7 +708,7 @@ enum ToServerCommand
                [0] u16 TOSERVER_PLAYERITEM
                [2] u16 item
        */
-       
+
        TOSERVER_RESPAWN=0x38,
        /*
                u16 TOSERVER_RESPAWN
@@ -704,7 +730,7 @@ enum ToServerCommand
 
                (Obsoletes TOSERVER_GROUND_ACTION and TOSERVER_CLICK_ACTIVEOBJECT.)
        */
-       
+
        TOSERVER_REMOVED_SOUNDS = 0x3a,
        /*
                u16 command