28 #include "../shared/vertex_normals.h"
41 buf->
add((
const char*)&c, 1);
48 buf->
add((
const char*)&v, 2);
55 buf->
add((
const char*)&v, 4);
64 buf->
add(str, strlen(str) + 1);
75 buf->
add(str, strlen(str));
134 for (
int i = 0;
i < bytedirsLength;
i++) {
152 const char typeID = *format++;
186 const int n = va_arg(ap,
int);
189 for (
int i = 0;
i < n;
i++)
210 va_start(ap, format);
237 if (buf->
extract((
char*)&c, 1) == 0)
245 if (buf->
extract((
char*)&v, 2) < 2)
254 if (buf->
get((
char*)&c, 1) == 0)
267 if (buf->
get((
char*)&v, 2) < 2)
276 if (buf->
get((
char*)&v, 4) < 4)
285 if (buf->
extract((
char*)&v, 4) < 4)
308 if (c == -1 || c == 0)
310 if (
string && l < length - 1) {
333 if (c == -1 || c == 0 || c ==
'\n')
340 }
while (l < length - 1);
396 for (
int i = 0;
i <
len;
i++)
418 const char typeID = *format++;
449 char* str = va_arg(ap,
char*);
450 const size_t length = va_arg(ap,
size_t);
458 *va_arg(ap,
int*) = n;
461 for (
int i = 0;
i < n;
i++)
479 const char typeID = *format++;
520 for (
int i = 0;
i < n;
i++)
537 va_start(ap, format);
552 const char cmd = (
const char)
clc_oob;
554 va_start(argptr, format);
555 Q_vsnprintf(
string,
sizeof(
string), format, argptr);
576 len = buf.
extract(tmp,
sizeof(tmp));
595 while (pos < buf.
length()) {
596 const int x = buf.
getAt(pos, tmp,
sizeof(tmp));
void NET_ReadPos(dbuffer *buf, vec3_t pos)
void NET_ReadGPos(dbuffer *buf, pos3_t pos)
#define VectorCopy(src, dest)
int Q_vsnprintf(char *str, size_t size, const char *format, va_list ap)
Safe (null terminating) vsnprintf implementation.
void NET_ReadDir(dbuffer *buf, vec3_t dir)
void NET_WriteRawString(dbuffer *buf, const char *str)
Skip the zero string terminal character. If you need it, use NET_WriteString.
int NET_ReadChar(dbuffer *buf)
void NET_WriteString(dbuffer *buf, const char *str)
void NET_WriteChar(dbuffer *buf, char c)
int NET_PeekShort(const dbuffer *buf)
Peeks into a buffer without changing it to get a short int.
void NET_WriteAngle16(dbuffer *buf, float f)
void NET_WritePos(dbuffer *buf, const vec3_t pos)
void NET_ReadFormat(dbuffer *buf, const char *format,...)
The user-friendly version of NET_ReadFormat that reads variable arguments from a buffer according to ...
void NET_VPrintf(dbuffer *buf, const char *format, va_list ap, char *str, size_t length)
void NET_Write2Pos(dbuffer *buf, const vec2_t pos)
int NET_ReadLong(dbuffer *buf)
void NET_vReadFormat(dbuffer *buf, const char *format, va_list ap)
Reads from a buffer according to format; version without syntactic sugar for variable arguments...
size_t getAt(size_t, char *, size_t) const
Read data from a dbuffer.
void Com_Error(int code, const char *fmt,...)
void NET_Read2Pos(dbuffer *buf, vec2_t pos)
void add(const char *, size_t)
void NET_OOB_Printf(struct net_stream *s, const char *format,...)
Out of band print.
void NET_vWriteFormat(dbuffer *buf, const char *format, va_list ap)
Writes to buffer according to format; version without syntactic sugar for variable arguments...
#define DotProduct(x, y)
Returns the distance between two 3-dimensional vectors.
int NET_ReadString(dbuffer *buf, char *string, size_t length)
void NET_StreamEnqueue(struct net_stream *s, const char *data, int len)
Enqueue a network message into a stream.
QGL_EXTERN GLuint GLsizei GLsizei * length
size_t extract(char *, size_t)
Read and delete data from a dbuffer.
void NET_WriteLong(dbuffer *buf, int c)
int NET_ReadShort(dbuffer *buf)
float NET_ReadAngle16(dbuffer *buf)
void Com_DPrintf(int level, const char *fmt,...)
A Com_Printf that only shows up if the "developer" cvar is set.
int NET_PeekByte(const dbuffer *buf)
void NET_WriteFormat(dbuffer *buf, const char *format,...)
The user-friendly version of NET_WriteFormat that writes variable arguments to buffer according to fo...
int NET_PeekLong(const dbuffer *buf)
const char * Com_ByteToBinary(byte x)
void NET_ReadData(dbuffer *buf, void *data, int len)
void NET_WriteAngle(dbuffer *buf, float f)
size_t get(char *, size_t) const
Read data from a dbuffer.
float NET_ReadAngle(dbuffer *buf)
QGL_EXTERN GLuint GLchar GLuint * len
void NET_WriteByte(dbuffer *buf, byte c)
static const float POSSCALE
definitions common between client and server, but not game lib
GLsizei const GLvoid * data
void NET_WriteGPos(dbuffer *buf, const pos3_t pos)
void NET_WriteDir(dbuffer *buf, const vec3_t dir)
QGL_EXTERN int GLboolean GLfloat * v
float NET_ReadCoord(dbuffer *buf)
void NET_SkipFormat(dbuffer *buf, const char *format)
void NET_WriteCoord(dbuffer *buf, float f)
void NET_WriteShort(dbuffer *buf, int c)
int NET_ReadByte(dbuffer *buf)
Reads a byte from the netchannel.
void format(__printf__, 1, 2)))
int NET_ReadStringLine(dbuffer *buf, char *string, size_t length)
void NET_WriteConstMsg(struct net_stream *s, const dbuffer &buf)
Enqueue the buffer in the net stream for MULTIPLE clients.
void NET_WriteMsg(struct net_stream *s, dbuffer &buf)
Enqueue the buffer in the net stream for ONE client.