X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=src%2Fclientserver.h;h=5f7864768be145d559b397a2ed401ef8da0d3e7c;hb=e5b4748bb44a12fd09a92f7d36986b4bda86e6bf;hp=264da5179e340ced795d2751662302a5695b69cb;hpb=06cdce1e1231fb5946ac9750f9b53b53c6f7e5f8;p=oweals%2Fminetest.git diff --git a/src/clientserver.h b/src/clientserver.h index 264da5179..5f7864768 100644 --- a/src/clientserver.h +++ b/src/clientserver.h @@ -19,10 +19,7 @@ with this program; if not, write to the Free Software Foundation, Inc., #ifndef CLIENTSERVER_HEADER #define CLIENTSERVER_HEADER - -#include "util/pointer.h" - -SharedBuffer makePacket_TOCLIENT_TIME_OF_DAY(u16 time, float time_speed); +#include "util/string.h" /* changes by PROTOCOL_VERSION: @@ -102,9 +99,18 @@ SharedBuffer makePacket_TOCLIENT_TIME_OF_DAY(u16 time, float time_speed); drowning, leveled and liquid_range added to ContentFeatures stepheight and collideWithObjects added to object properties 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 + PROTOCOL_VERSION 24: + ContentFeatures version 7 + ContentFeatures: change number of special tiles to 6 (CF_SPECIAL_COUNT) */ -#define LATEST_PROTOCOL_VERSION 21 +#define LATEST_PROTOCOL_VERSION 24 // Server's supported network protocol range #define SERVER_PROTOCOL_VERSION_MIN 13 @@ -120,7 +126,10 @@ SharedBuffer makePacket_TOCLIENT_TIME_OF_DAY(u16 time, float time_speed); #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 { @@ -131,7 +140,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) @@ -141,8 +150,14 @@ enum ToClientCommand TOCLIENT_BLOCKDATA = 0x20, //TODO: Multiple blocks TOCLIENT_ADDNODE = 0x21, + /* + u16 command + v3s16 position + serialized mapnode + u8 keep_metadata // Added in protocol version 22 + */ TOCLIENT_REMOVENODE = 0x22, - + TOCLIENT_PLAYERPOS = 0x23, // Obsolete /* [0] u16 command @@ -163,7 +178,7 @@ enum ToClientCommand [N] u16 peer_id [N] char[20] name */ - + TOCLIENT_OPT_BLOCK_NOT_FOUND = 0x25, // Obsolete TOCLIENT_SECTORMETA = 0x26, // Obsolete @@ -178,7 +193,7 @@ enum ToClientCommand [0] u16 command [2] serialized inventory */ - + TOCLIENT_OBJECTDATA = 0x28, // Obsolete /* Sent as unreliable. @@ -229,7 +244,7 @@ enum ToClientCommand string initialization data } */ - + TOCLIENT_ACTIVE_OBJECT_MESSAGES = 0x32, /* u16 command @@ -295,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 @@ -336,7 +351,7 @@ enum ToClientCommand u32 length of next item serialized ItemDefManager */ - + TOCLIENT_PLAY_SOUND = 0x3f, /* u16 command @@ -415,6 +430,7 @@ enum ToClientCommand f1000 expirationtime f1000 size u8 bool collisiondetection + u8 bool vertical u32 len u8[len] texture */ @@ -435,6 +451,7 @@ enum ToClientCommand f1000 minsize f1000 maxsize u8 bool collisiondetection + u8 bool vertical u32 len u8[len] texture u32 id @@ -462,6 +479,8 @@ enum ToClientCommand u32 dir v2f1000 align v2f1000 offset + v3f1000 world_pos + v2s32 size */ TOCLIENT_HUDRM = 0x4a, @@ -501,6 +520,42 @@ enum ToClientCommand u16 command u16 breath */ + + TOCLIENT_SET_SKY = 0x4f, + /* + u16 command + u8[4] color (ARGB) + u8 len + u8[len] type + u16 count + foreach count: + u8 len + u8[len] param + */ + + TOCLIENT_OVERRIDE_DAY_NIGHT_RATIO = 0x50, + /* + u16 command + 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 @@ -588,7 +643,7 @@ enum ToServerCommand 2: stop digging (all parameters ignored) 3: digging completed */ - + TOSERVER_RELEASE = 0x29, // Obsolete // (oops, there is some gap here) @@ -630,7 +685,7 @@ enum ToServerCommand [3] u16 id [5] u16 item */ - + TOSERVER_DAMAGE = 0x35, /* u16 command @@ -653,7 +708,7 @@ enum ToServerCommand [0] u16 TOSERVER_PLAYERITEM [2] u16 item */ - + TOSERVER_RESPAWN=0x38, /* u16 TOSERVER_RESPAWN @@ -675,7 +730,7 @@ enum ToServerCommand (Obsoletes TOSERVER_GROUND_ACTION and TOSERVER_CLICK_ACTIVEOBJECT.) */ - + TOSERVER_REMOVED_SOUNDS = 0x3a, /* u16 command @@ -730,6 +785,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