]> git.lizzy.rs Git - dragonfireclient.git/blobdiff - src/clientserver.h
Fix flipped textures for drawtype "glasslike"
[dragonfireclient.git] / src / clientserver.h
index 29d01e5ae6dad526599b1854886b88f8958c354b..f12384b18e5786b194c59feb61fa76ba404cf1eb 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:
@@ -100,9 +101,13 @@ with this program; if not, write to the Free Software Foundation, Inc.,
                version, heat and humidity transfer in MapBock
                automatic_face_movement_dir and automatic_face_movement_dir_offset
                        added to object properties
+       PROTOCOL_VERSION 22:
+               add swap_node
+       PROTOCOL_VERSION 23:
+               TOSERVER_CLIENT_READY
 */
 
-#define LATEST_PROTOCOL_VERSION 22
+#define LATEST_PROTOCOL_VERSION 23
 
 // Server's supported network protocol range
 #define SERVER_PROTOCOL_VERSION_MIN 13
@@ -118,7 +123,10 @@ 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 TEXTURENAME_ALLOWED_CHARS "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_."
+#define FORMSPEC_API_VERSION 1
+#define FORMSPEC_VERSION_STRING "formspec_version[" TOSTRING(FORMSPEC_API_VERSION) "]"
+
+#define TEXTURENAME_ALLOWED_CHARS "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_.-"
 
 enum ToClientCommand
 {
@@ -129,7 +137,7 @@ enum ToClientCommand
 
                [0] u16 TOSERVER_INIT
                [2] u8 deployed version
-               [3] v3s16 player's position + v3f(0,BS/2,0) floatToInt'd 
+               [3] v3s16 player's position + v3f(0,BS/2,0) floatToInt'd
                [12] u64 map seed (new as of 2011-02-27)
                [20] f1000 recommended send interval (in seconds) (new as of 14)
 
@@ -146,7 +154,7 @@ enum ToClientCommand
                u8 keep_metadata // Added in protocol version 22
        */
        TOCLIENT_REMOVENODE = 0x22,
-       
+
        TOCLIENT_PLAYERPOS = 0x23, // Obsolete
        /*
                [0] u16 command
@@ -167,7 +175,7 @@ enum ToClientCommand
                [N] u16 peer_id
                [N] char[20] name
        */
-       
+
        TOCLIENT_OPT_BLOCK_NOT_FOUND = 0x25, // Obsolete
 
        TOCLIENT_SECTORMETA = 0x26, // Obsolete
@@ -182,7 +190,7 @@ enum ToClientCommand
                [0] u16 command
                [2] serialized inventory
        */
-       
+
        TOCLIENT_OBJECTDATA = 0x28, // Obsolete
        /*
                Sent as unreliable.
@@ -233,7 +241,7 @@ enum ToClientCommand
                        string initialization data
                }
        */
-       
+
        TOCLIENT_ACTIVE_OBJECT_MESSAGES = 0x32,
        /*
                u16 command
@@ -299,21 +307,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
@@ -340,7 +348,7 @@ enum ToClientCommand
                u32 length of next item
                serialized ItemDefManager
        */
-       
+
        TOCLIENT_PLAY_SOUND = 0x3f,
        /*
                u16 command
@@ -468,6 +476,8 @@ enum ToClientCommand
                u32 dir
                v2f1000 align
                v2f1000 offset
+               v3f1000 world_pos
+               v2s32 size
        */
 
        TOCLIENT_HUDRM = 0x4a,
@@ -526,6 +536,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
@@ -613,7 +640,7 @@ enum ToServerCommand
                2: stop digging (all parameters ignored)
                3: digging completed
        */
-       
+
        TOSERVER_RELEASE = 0x29, // Obsolete
 
        // (oops, there is some gap here)
@@ -655,7 +682,7 @@ enum ToServerCommand
                [3] u16 id
                [5] u16 item
        */
-       
+
        TOSERVER_DAMAGE = 0x35,
        /*
                u16 command
@@ -678,7 +705,7 @@ enum ToServerCommand
                [0] u16 TOSERVER_PLAYERITEM
                [2] u16 item
        */
-       
+
        TOSERVER_RESPAWN=0x38,
        /*
                u16 TOSERVER_RESPAWN
@@ -700,7 +727,7 @@ enum ToServerCommand
 
                (Obsoletes TOSERVER_GROUND_ACTION and TOSERVER_CLICK_ACTIVEOBJECT.)
        */
-       
+
        TOSERVER_REMOVED_SOUNDS = 0x3a,
        /*
                u16 command
@@ -755,6 +782,16 @@ enum ToServerCommand
                u16 command
                u16 breath
        */
+
+       TOSERVER_CLIENT_READY = 0x43,
+       /*
+               u8 major
+               u8 minor
+               u8 patch
+               u8 reserved
+               u16 len
+               u8[len] full_version_string
+       */
 };
 
 #endif