X-Git-Url: https://de.git.xonotic.org/?a=blobdiff_plain;f=protocol.c;h=5f1d5e4edc7e9c94c01d79e10318bb37c11e86ce;hb=04ebd98618c773b10ada031f18b99f11020b559f;hp=533e582a2885d2bba090cb12373d7805ec373824;hpb=1d060f60bce1d5ac45b1ef349c45ed5ef3e0dbeb;p=xonotic%2Fdarkplaces.git diff --git a/protocol.c b/protocol.c index 533e582a..5f1d5e4e 100644 --- a/protocol.c +++ b/protocol.c @@ -51,8 +51,6 @@ entity_state_t defaultstate = 0,//unsigned char tagindex; {32, 32, 32},//unsigned char colormod[3]; {32, 32, 32},//unsigned char glowmod[3]; - // padding to a multiple of 8 bytes (to align the double time) - {0,0}//unsigned char unused[2]; // ! }; // LordHavoc: I own protocol ranges 96, 97, 3500-3599 @@ -60,54 +58,62 @@ entity_state_t defaultstate = struct protocolversioninfo_s { int number; + protocolversion_t version; const char *name; } protocolversioninfo[] = { - {0, "UNKNOWN"}, - {3504, "DP7"}, - {3503, "DP6"}, - {3502, "DP5"}, - {3501, "DP4"}, - {3500, "DP3"}, - {97, "DP2"}, - {96, "DP1"}, - {15, "QUAKEDP"}, - {250, "NEHAHRAMOVIE"}, - {15, "QUAKE"}, - {28, "QW"}, - {10000, "NEHAHRABJP"}, - {10001, "NEHAHRABJP2"}, - {10002, "NEHAHRABJP3"}, - {0, NULL} + { 3504, PROTOCOL_DARKPLACES7 , "DP7"}, + { 3503, PROTOCOL_DARKPLACES6 , "DP6"}, + { 3502, PROTOCOL_DARKPLACES5 , "DP5"}, + { 3501, PROTOCOL_DARKPLACES4 , "DP4"}, + { 3500, PROTOCOL_DARKPLACES3 , "DP3"}, + { 97, PROTOCOL_DARKPLACES2 , "DP2"}, + { 96, PROTOCOL_DARKPLACES1 , "DP1"}, + { 15, PROTOCOL_QUAKEDP , "QUAKEDP"}, + { 15, PROTOCOL_QUAKE , "QUAKE"}, + { 28, PROTOCOL_QUAKEWORLD , "QW"}, + { 250, PROTOCOL_NEHAHRAMOVIE, "NEHAHRAMOVIE"}, + {10000, PROTOCOL_NEHAHRABJP , "NEHAHRABJP"}, + {10001, PROTOCOL_NEHAHRABJP2 , "NEHAHRABJP2"}, + {10002, PROTOCOL_NEHAHRABJP3 , "NEHAHRABJP3"}, + { 0, PROTOCOL_UNKNOWN , NULL} }; protocolversion_t Protocol_EnumForName(const char *s) { int i; - for (i = 1;protocolversioninfo[i].name;i++) + for (i = 0;protocolversioninfo[i].name;i++) if (!strcasecmp(s, protocolversioninfo[i].name)) - return (protocolversion_t)i; + return protocolversioninfo[i].version; return PROTOCOL_UNKNOWN; } const char *Protocol_NameForEnum(protocolversion_t p) { - return protocolversioninfo[p].name; + int i; + for (i = 0;protocolversioninfo[i].name;i++) + if (protocolversioninfo[i].version == p) + return protocolversioninfo[i].name; + return "UNKNOWN"; } protocolversion_t Protocol_EnumForNumber(int n) { int i; - for (i = 1;protocolversioninfo[i].name;i++) + for (i = 0;protocolversioninfo[i].name;i++) if (protocolversioninfo[i].number == n) - return (protocolversion_t)i; + return protocolversioninfo[i].version; return PROTOCOL_UNKNOWN; } int Protocol_NumberForEnum(protocolversion_t p) { - return protocolversioninfo[p].number; + int i; + for (i = 0;protocolversioninfo[i].name;i++) + if (protocolversioninfo[i].version == p) + return protocolversioninfo[i].number; + return 0; } void Protocol_Names(char *buffer, size_t buffersize) @@ -116,7 +122,7 @@ void Protocol_Names(char *buffer, size_t buffersize) if (buffersize < 1) return; buffer[0] = 0; - for (i = 1;protocolversioninfo[i].name;i++) + for (i = 0;protocolversioninfo[i].name;i++) { if (i > 1) strlcat(buffer, " ", buffersize); @@ -299,14 +305,12 @@ static void EntityFrameCSQC_LostAllFrames(client_t *client) void EntityFrameCSQC_LostFrame(client_t *client, int framenum) { // marks a frame as lost - int i, j, n; + int i, j; qboolean valid; int ringfirst, ringlast; static int recoversendflags[MAX_EDICTS]; csqcentityframedb_t *d; - n = client->csqcnumedicts; - // is our frame out of history? ringfirst = client->csqcentityframehistory_next; // oldest entry ringlast = (ringfirst + NUM_CSQCENTITYDB_FRAMES - 1) % NUM_CSQCENTITYDB_FRAMES; // most recently added entry @@ -2030,7 +2034,7 @@ static void EntityFrame5_ExpandEdicts(entityframe5_database_t *d, int newmax) static int EntityState5_Priority(entityframe5_database_t *d, int stateindex) { int limit, priority; - entity_state_t *s; + entity_state_t *s = NULL; // hush compiler warning by initializing this // if it is the player, update urgently if (stateindex == d->viewentnum) return ENTITYFRAME5_PRIORITYLEVELS - 1;