X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=src%2Fclientserver.h;h=5f7864768be145d559b397a2ed401ef8da0d3e7c;hb=e5b4748bb44a12fd09a92f7d36986b4bda86e6bf;hp=5e981c202521ef3acde7edc2b23fcd3762d02da2;hpb=9894167bbf516c40bf2b8577179ff8f13b8b54e2;p=oweals%2Fminetest.git diff --git a/src/clientserver.h b/src/clientserver.h index 5e981c202..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: @@ -91,12 +88,29 @@ SharedBuffer makePacket_TOCLIENT_TIME_OF_DAY(u16 time, float time_speed); PROTOCOL_VERSION 19: GENERIC_CMD_SET_PHYSICS_OVERRIDE PROTOCOL_VERSION 20: - TOCLIENT_HUD_ADD - TOCLIENT_HUD_RM - TOCLIENT_HUD_CHANGE + TOCLIENT_HUDADD + TOCLIENT_HUDRM + TOCLIENT_HUDCHANGE + TOCLIENT_HUD_SET_FLAGS + PROTOCOL_VERSION 21: + TOCLIENT_BREATH + TOSERVER_BREATH + range added to ItemDefinition + 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 20 +#define LATEST_PROTOCOL_VERSION 24 // Server's supported network protocol range #define SERVER_PROTOCOL_VERSION_MIN 13 @@ -112,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 { @@ -123,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) @@ -133,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 @@ -155,7 +178,7 @@ enum ToClientCommand [N] u16 peer_id [N] char[20] name */ - + TOCLIENT_OPT_BLOCK_NOT_FOUND = 0x25, // Obsolete TOCLIENT_SECTORMETA = 0x26, // Obsolete @@ -170,7 +193,7 @@ enum ToClientCommand [0] u16 command [2] serialized inventory */ - + TOCLIENT_OBJECTDATA = 0x28, // Obsolete /* Sent as unreliable. @@ -221,7 +244,7 @@ enum ToClientCommand string initialization data } */ - + TOCLIENT_ACTIVE_OBJECT_MESSAGES = 0x32, /* u16 command @@ -287,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 @@ -328,7 +351,7 @@ enum ToClientCommand u32 length of next item serialized ItemDefManager */ - + TOCLIENT_PLAY_SOUND = 0x3f, /* u16 command @@ -407,6 +430,7 @@ enum ToClientCommand f1000 expirationtime f1000 size u8 bool collisiondetection + u8 bool vertical u32 len u8[len] texture */ @@ -427,6 +451,7 @@ enum ToClientCommand f1000 minsize f1000 maxsize u8 bool collisiondetection + u8 bool vertical u32 len u8[len] texture u32 id @@ -454,15 +479,17 @@ enum ToClientCommand u32 dir v2f1000 align v2f1000 offset + v3f1000 world_pos + v2s32 size */ - TOCLIENT_HUDRM = 0x50, + TOCLIENT_HUDRM = 0x4a, /* u16 command u32 id */ - TOCLIENT_HUDCHANGE = 0x51, + TOCLIENT_HUDCHANGE = 0x4b, /* u16 command u32 id @@ -472,6 +499,63 @@ enum ToClientCommand u8[len] data | u32 data] */ + + TOCLIENT_HUD_SET_FLAGS = 0x4c, + /* + u16 command + u32 flags + u32 mask + */ + + TOCLIENT_HUD_SET_PARAM = 0x4d, + /* + u16 command + u16 param + u16 len + u8[len] value + */ + + TOCLIENT_BREATH = 0x4e, + /* + 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 @@ -481,7 +565,7 @@ enum ToServerCommand Sent first after connected. [0] u16 TOSERVER_INIT - [2] u8 SER_FMT_VER_HIGHEST + [2] u8 SER_FMT_VER_HIGHEST_READ [3] u8[20] player_name [23] u8[28] password (new in some version) [51] u16 minimum supported network protocol version (added sometime) @@ -559,7 +643,7 @@ enum ToServerCommand 2: stop digging (all parameters ignored) 3: digging completed */ - + TOSERVER_RELEASE = 0x29, // Obsolete // (oops, there is some gap here) @@ -601,7 +685,7 @@ enum ToServerCommand [3] u16 id [5] u16 item */ - + TOSERVER_DAMAGE = 0x35, /* u16 command @@ -624,7 +708,7 @@ enum ToServerCommand [0] u16 TOSERVER_PLAYERITEM [2] u16 item */ - + TOSERVER_RESPAWN=0x38, /* u16 TOSERVER_RESPAWN @@ -646,7 +730,7 @@ enum ToServerCommand (Obsoletes TOSERVER_GROUND_ACTION and TOSERVER_CLICK_ACTIVEOBJECT.) */ - + TOSERVER_REMOVED_SOUNDS = 0x3a, /* u16 command @@ -695,6 +779,22 @@ enum ToServerCommand /* u16 command */ + + TOSERVER_BREATH = 0x42, + /* + u16 command + u16 breath + */ + + TOSERVER_CLIENT_READY = 0x43, + /* + u8 major + u8 minor + u8 patch + u8 reserved + u16 len + u8[len] full_version_string + */ }; #endif