X-Git-Url: https://git.lizzy.rs/?a=blobdiff_plain;f=src%2Fclientserver.h;h=5f7864768be145d559b397a2ed401ef8da0d3e7c;hb=c5faa644056c892ccf5e41cfde87a5b107149951;hp=8b1e0a7e48483a062571303043d97fbc04f2dd0b;hpb=feb7de91ec34ef1ca3152270a7bc62b2e308f1bd;p=dragonfireclient.git diff --git a/src/clientserver.h b/src/clientserver.h index 8b1e0a7e4..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: @@ -90,9 +87,30 @@ SharedBuffer makePacket_TOCLIENT_TIME_OF_DAY(u16 time, float time_speed); sound_place added to ItemDefinition PROTOCOL_VERSION 19: GENERIC_CMD_SET_PHYSICS_OVERRIDE + PROTOCOL_VERSION 20: + 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 19 +#define LATEST_PROTOCOL_VERSION 24 // Server's supported network protocol range #define SERVER_PROTOCOL_VERSION_MIN 13 @@ -108,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 { @@ -119,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) @@ -129,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 @@ -151,7 +178,7 @@ enum ToClientCommand [N] u16 peer_id [N] char[20] name */ - + TOCLIENT_OPT_BLOCK_NOT_FOUND = 0x25, // Obsolete TOCLIENT_SECTORMETA = 0x26, // Obsolete @@ -166,7 +193,7 @@ enum ToClientCommand [0] u16 command [2] serialized inventory */ - + TOCLIENT_OBJECTDATA = 0x28, // Obsolete /* Sent as unreliable. @@ -217,7 +244,7 @@ enum ToClientCommand string initialization data } */ - + TOCLIENT_ACTIVE_OBJECT_MESSAGES = 0x32, /* u16 command @@ -283,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 @@ -324,7 +351,7 @@ enum ToClientCommand u32 length of next item serialized ItemDefManager */ - + TOCLIENT_PLAY_SOUND = 0x3f, /* u16 command @@ -403,6 +430,7 @@ enum ToClientCommand f1000 expirationtime f1000 size u8 bool collisiondetection + u8 bool vertical u32 len u8[len] texture */ @@ -423,6 +451,7 @@ enum ToClientCommand f1000 minsize f1000 maxsize u8 bool collisiondetection + u8 bool vertical u32 len u8[len] texture u32 id @@ -433,6 +462,100 @@ enum ToClientCommand u16 command u32 id */ + + TOCLIENT_HUDADD = 0x49, + /* + u16 command + u32 id + u8 type + v2f1000 pos + u32 len + u8[len] name + v2f1000 scale + u32 len2 + u8[len2] text + u32 number + u32 item + u32 dir + v2f1000 align + v2f1000 offset + v3f1000 world_pos + v2s32 size + */ + + TOCLIENT_HUDRM = 0x4a, + /* + u16 command + u32 id + */ + + TOCLIENT_HUDCHANGE = 0x4b, + /* + u16 command + u32 id + u8 stat + [v2f1000 data | + u32 len + 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 @@ -442,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) @@ -520,7 +643,7 @@ enum ToServerCommand 2: stop digging (all parameters ignored) 3: digging completed */ - + TOSERVER_RELEASE = 0x29, // Obsolete // (oops, there is some gap here) @@ -562,7 +685,7 @@ enum ToServerCommand [3] u16 id [5] u16 item */ - + TOSERVER_DAMAGE = 0x35, /* u16 command @@ -585,7 +708,7 @@ enum ToServerCommand [0] u16 TOSERVER_PLAYERITEM [2] u16 item */ - + TOSERVER_RESPAWN=0x38, /* u16 TOSERVER_RESPAWN @@ -607,7 +730,7 @@ enum ToServerCommand (Obsoletes TOSERVER_GROUND_ACTION and TOSERVER_CLICK_ACTIVEOBJECT.) */ - + TOSERVER_REMOVED_SOUNDS = 0x3a, /* u16 command @@ -656,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