UFO: Alien Invasion
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
netpack.h
Go to the documentation of this file.
1 
5 /*
6 All original material Copyright (C) 2002-2020 UFO: Alien Invasion.
7 
8 Original file from Quake 2 v3.21: quake2-2.31/client/
9 Copyright (C) 1997-2001 Id SoftwaR_ Inc.
10 
11 This program is free software; you can redistribute it and/or
12 modify it under the terms of the GNU General Public License
13 as published by the Free Software Foundation; either version 2
14 of the License, or (at your option) any later version.
15 
16 This program is distributed in the hope that it will be useful,
17 but WITHOUT ANY WARRANTY; without even the implied warranty of
18 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
19 
20 See the GNU General Public License for more details.
21 
22 You should have received a copy of the GNU General Public License
23 along with this program; if not, write to the Free Software
24 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
25 
26 */
27 
28 #pragma once
29 
30 #define NUMVERTEXNORMALS 162
31 extern const vec3_t bytedirs[NUMVERTEXNORMALS];
32 
33 void NET_WriteChar(dbuffer* buf, char c);
34 void NET_WriteByte(dbuffer* buf, byte c);
35 void NET_WriteShort(dbuffer* buf, int c);
36 void NET_WriteLong(dbuffer* buf, int c);
37 void NET_WriteString(dbuffer* buf, const char* str);
38 void NET_WriteRawString(dbuffer* buf, const char* str);
39 void NET_WriteCoord(dbuffer* buf, float f);
40 void NET_WritePos(dbuffer* buf, const vec3_t pos);
41 void NET_Write2Pos(dbuffer* buf, const vec2_t pos);
42 void NET_WriteGPos(dbuffer* buf, const pos3_t pos);
43 void NET_WriteAngle(dbuffer* buf, float f);
44 void NET_WriteAngle16(dbuffer* buf, float f);
45 void NET_WriteDir(dbuffer* buf, const vec3_t vector);
46 void NET_vWriteFormat(dbuffer* buf, const char* format, va_list ap);
47 void NET_WriteFormat(dbuffer* buf, const char* format, ...);
48 void NET_VPrintf(dbuffer* buf, const char* format, va_list ap, char* str, size_t length);
49 
50 /* This frees the buf argument */
51 void NET_WriteMsg(struct net_stream* s, dbuffer& buf);
52 
53 /* This keeps buf intact */
54 void NET_WriteConstMsg(struct net_stream* s, const dbuffer& buf);
55 
56 void NET_OOB_Printf(struct net_stream* s, const char* format, ...) __attribute__((format(__printf__,2,3)));
57 
59 int NET_ReadByte(dbuffer* buf);
60 int NET_ReadShort(dbuffer* buf);
61 int NET_PeekByte(const dbuffer* buf);
62 int NET_PeekShort(const dbuffer* buf);
63 int NET_PeekLong(const dbuffer* buf);
64 int NET_ReadLong(dbuffer* buf);
65 int NET_ReadString(dbuffer* buf, char* string, size_t length);
66 int NET_ReadStringLine(dbuffer* buf, char* string, size_t length);
67 
68 float NET_ReadCoord(dbuffer* buf);
69 void NET_ReadPos(dbuffer* buf, vec3_t pos);
70 void NET_Read2Pos(dbuffer* buf, vec2_t pos);
71 void NET_ReadGPos(dbuffer* buf, pos3_t pos);
72 float NET_ReadAngle(dbuffer* buf);
73 float NET_ReadAngle16(dbuffer* buf);
74 void NET_ReadDir(dbuffer* buf, vec3_t vector);
75 
76 void NET_ReadData(dbuffer* buf, void* buffer, int size);
77 void NET_vReadFormat(dbuffer* buf, const char* format, va_list ap);
78 void NET_ReadFormat(dbuffer* buf, const char* format, ...);
79 void NET_SkipFormat(dbuffer* buf, const char* format);
float NET_ReadAngle(dbuffer *buf)
Definition: netpack.cpp:383
void NET_WriteFormat(dbuffer *buf, const char *format,...)
The user-friendly version of NET_WriteFormat that writes variable arguments to buffer according to fo...
Definition: netpack.cpp:207
void NET_Read2Pos(dbuffer *buf, vec2_t pos)
Definition: netpack.cpp:355
int NET_ReadByte(dbuffer *buf)
Reads a byte from the netchannel.
Definition: netpack.cpp:234
void NET_WriteDir(dbuffer *buf, const vec3_t vector)
Definition: netpack.cpp:124
int NET_PeekShort(const dbuffer *buf)
Peeks into a buffer without changing it to get a short int.
Definition: netpack.cpp:264
void NET_WriteConstMsg(struct net_stream *s, const dbuffer &buf)
Enqueue the buffer in the net stream for MULTIPLE clients.
Definition: netpack.cpp:588
#define __attribute__(x)
Definition: cxx.h:37
voidpf void * buf
Definition: ioapi.h:42
float NET_ReadCoord(dbuffer *buf)
Definition: netpack.cpp:347
int NET_ReadString(dbuffer *buf, char *string, size_t length)
Definition: netpack.cpp:302
void int NET_ReadChar(dbuffer *buf)
Definition: netpack.cpp:221
void NET_WriteGPos(dbuffer *buf, const pos3_t pos)
Definition: netpack.cpp:103
void NET_VPrintf(dbuffer *buf, const char *format, va_list ap, char *str, size_t length)
Definition: netpack.cpp:603
void NET_Write2Pos(dbuffer *buf, const vec2_t pos)
Definition: netpack.cpp:87
void NET_WriteString(dbuffer *buf, const char *str)
Definition: netpack.cpp:59
GLsizei size
Definition: r_gl.h:152
QGL_EXTERN GLuint GLsizei GLsizei * length
Definition: r_gl.h:110
float NET_ReadAngle16(dbuffer *buf)
Definition: netpack.cpp:388
void NET_SkipFormat(dbuffer *buf, const char *format)
Definition: netpack.cpp:476
void NET_WriteByte(dbuffer *buf, byte c)
Definition: netpack.cpp:39
pos_t pos3_t[3]
Definition: ufotypes.h:58
void NET_OOB_Printf(struct net_stream *s, const char *format,...) __attribute__((format(__printf__
void NET_WriteAngle(dbuffer *buf, float f)
Definition: netpack.cpp:110
void NET_WriteChar(dbuffer *buf, char c)
Definition: netpack.cpp:33
QGL_EXTERN GLfloat f
Definition: r_gl.h:114
void NET_vWriteFormat(dbuffer *buf, const char *format, va_list ap)
Writes to buffer according to format; version without syntactic sugar for variable arguments...
Definition: netpack.cpp:149
void NET_WritePos(dbuffer *buf, const vec3_t pos)
Definition: netpack.cpp:96
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...
Definition: netpack.cpp:415
void NET_ReadPos(dbuffer *buf, vec3_t pos)
Definition: netpack.cpp:364
void NET_WriteAngle16(dbuffer *buf, float f)
Definition: netpack.cpp:115
void NET_WriteShort(dbuffer *buf, int c)
Definition: netpack.cpp:45
int NET_ReadStringLine(dbuffer *buf, char *string, size_t length)
Definition: netpack.cpp:328
void NET_WriteRawString(dbuffer *buf, const char *str)
Skip the zero string terminal character. If you need it, use NET_WriteString.
Definition: netpack.cpp:71
int NET_ReadShort(dbuffer *buf)
Definition: netpack.cpp:242
void NET_ReadDir(dbuffer *buf, vec3_t vector)
Definition: netpack.cpp:400
int NET_ReadLong(dbuffer *buf)
Definition: netpack.cpp:282
vec_t vec3_t[3]
Definition: ufotypes.h:39
vec_t vec2_t[2]
Definition: ufotypes.h:38
void NET_ReadFormat(dbuffer *buf, const char *format,...)
The user-friendly version of NET_ReadFormat that reads variable arguments from a buffer according to ...
Definition: netpack.cpp:533
void NET_ReadGPos(dbuffer *buf, pos3_t pos)
Definition: netpack.cpp:376
void NET_WriteLong(dbuffer *buf, int c)
Definition: netpack.cpp:52
int NET_PeekByte(const dbuffer *buf)
Definition: netpack.cpp:251
void NET_ReadData(dbuffer *buf, void *buffer, int size)
Definition: netpack.cpp:394
const vec3_t bytedirs[NUMVERTEXNORMALS]
Definition: netpack.cpp:27
uint8_t byte
Definition: ufotypes.h:34
void format(__printf__, 1, 2)))
int NET_PeekLong(const dbuffer *buf)
Definition: netpack.cpp:273
void NET_WriteCoord(dbuffer *buf, float f)
Definition: netpack.cpp:79
void NET_WriteMsg(struct net_stream *s, dbuffer &buf)
Enqueue the buffer in the net stream for ONE client.
Definition: netpack.cpp:569
#define NUMVERTEXNORMALS
Definition: netpack.h:30