X-Git-Url: http://de.git.xonotic.org/?p=xonotic%2Fdarkplaces.git;a=blobdiff_plain;f=protocol.h;h=da37e379fa9ffb7c0d3a20a60e90580e6fb5e326;hp=2ed2326a7efd0eaeda53500d8aa86e596b64dc26;hb=eb35bb76a4704ec05030b29548b2691ca3dee6d5;hpb=c4ee1bbcc6b2f917465f07269ad09942bbf40849 diff --git a/protocol.h b/protocol.h index 2ed2326a..da37e379 100644 --- a/protocol.h +++ b/protocol.h @@ -19,9 +19,14 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ // protocol.h -- communications protocols +#ifndef PROTOCOL_H +#define PROTOCOL_H + #define PROTOCOL_VERSION 15 #define DPPROTOCOL_VERSION1 96 #define DPPROTOCOL_VERSION2 97 +// LordHavoc: I think the 96-99 range was going to run out too soon... so here I jump to 3500 +#define DPPROTOCOL_VERSION3 3500 // model effects #define EF_ROCKET 1 // leave a trail @@ -41,11 +46,13 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #define EF_ADDITIVE 32 #define EF_BLUE 64 #define EF_RED 128 -#define EF_DELTA 8388608 // LordHavoc: entity is delta compressed to save network bandwidth +#define EF_DELTA 8388608 // LordHavoc: (obsolete) entity is delta compressed to save network bandwidth (no longer used) +#define EF_LOWPRECISION 4194304 // LordHavoc: entity is low precision (integer coordinates) to save network bandwidth // effects/model (can be used as model flags or entity effects) -#define EF_REFLECTIVE 256 // LordHavoc: shiny metal objects :) +#define EF_REFLECTIVE 256 // LordHavoc: shiny metal objects :) (not currently supported) #define EF_FULLBRIGHT 512 // LordHavoc: fullbright #define EF_FLAME 1024 // LordHavoc: on fire +#define EF_STARDUST 2048 // LordHavoc: showering sparks #define EF_STEP 0x80000000 // internal client use only - present on MOVETYPE_STEP entities, not QC accessible (too many bits) @@ -205,7 +212,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. // LordHavoc: my svc_ range, 50-59 #define svc_cgame 50 // [short] length [bytes] data -#define svc_fog 51 // unfinished and obsolete +#define svc_unusedlh1 51 #define svc_effect 52 // [vector] org [byte] modelindex [byte] startframe [byte] framecount [byte] framerate #define svc_effect2 53 // [vector] org [short] modelindex [short] startframe [byte] framecount [byte] framerate #define svc_sound2 54 // short soundindex instead of byte @@ -255,7 +262,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. // PGM 01/21/97 #define TE_BEAM 13 // [entity] entity [vector] start [vector] end -// PGM 01/21/97 +// PGM 01/21/97 // Nehahra effects used in the movie (TE_EXPLOSION3 also got written up in a QSG tutorial, hence it's not marked NEH) #define TE_EXPLOSION3 16 // [vector] origin [coord] red [coord] green [coord] blue @@ -285,6 +292,8 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #define RENDER_GLOWTRAIL 2 #define RENDER_VIEWMODEL 4 #define RENDER_EXTERIORMODEL 8 +#define RENDER_LOWPRECISION 16 // send as low precision coordinates to save bandwidth +#define RENDER_COLORMAPPED 32 typedef struct { @@ -411,12 +420,8 @@ void EntityFrame_AddFrame(entity_database_t *d, entity_frame_t *f); void EntityFrame_Write(entity_database_t *d, entity_frame_t *f, sizebuf_t *msg); // (client) reads a frame from network stream void EntityFrame_Read(entity_database_t *d); -// (client) reads (and interpolates) the eye location from the database, -// given a current time -//int EntityFrame_FetchEye(entity_database_t *d, vec3_t eye, double time); -// (client) fetchs an entity from the frame by index into the entity list -//int EntityFrame_FetchEntityByIndex(entity_frame_t *f, entity_state_t *e, int index); -// (client) fetchs an entity from the frame by entity number -//int EntityFrame_FetchEntityByNumber(entity_frame_t *f, entity_state_t *e, int number); // (client) returns the frame number of the most recent frame recieved int EntityFrame_MostRecentlyRecievedFrameNum(entity_database_t *d); + +#endif +