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