\hypertarget{d__protocol_8h}{
\section{common/d\_\-protocol.h File Reference}
\label{d9/d71/d__protocol_8h}\index{common/d\_\-protocol.h@{common/d\_\-protocol.h}}
}
\subsection*{Data Structures}
\begin{DoxyCompactItemize}
\item 
struct \hyperlink{structzdemoheader__s}{zdemoheader\_\-s}
\item 
struct \hyperlink{structusercmd__s}{usercmd\_\-s}
\end{DoxyCompactItemize}
\subsection*{Typedefs}
\begin{DoxyCompactItemize}
\item 
typedef struct \hyperlink{structusercmd__s}{usercmd\_\-s} \hyperlink{d__protocol_8h_a6c153a871accc419289d822f4e7d5fc2}{usercmd\_\-t}
\end{DoxyCompactItemize}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{classFArchive}{FArchive} \& \hyperlink{d__protocol_8h_a61ee12a7417407cc111ce8acf102814d}{operator$<$$<$} (\hyperlink{classFArchive}{FArchive} \&arc, \hyperlink{structusercmd__s}{usercmd\_\-t} \&cmd)
\item 
\hyperlink{classFArchive}{FArchive} \& \hyperlink{d__protocol_8h_adca65de99248583f1ba117748c842b50}{operator$>$$>$} (\hyperlink{classFArchive}{FArchive} \&arc, \hyperlink{structusercmd__s}{usercmd\_\-t} \&cmd)
\item 
int \hyperlink{d__protocol_8h_a7e817cbf87fe5fa1eb8b4530cde05094}{UnpackUserCmd} (\hyperlink{structusercmd__s}{usercmd\_\-t} $\ast$ucmd, \hyperlink{doomtype_8h_a0c8186d9b9b7880309c27230bbb5e69d}{byte} $\ast$$\ast$stream)
\item 
int \hyperlink{d__protocol_8h_a28c1da477e24cfac17db5077464477fd}{PackUserCmd} (\hyperlink{structusercmd__s}{usercmd\_\-t} $\ast$ucmd, \hyperlink{doomtype_8h_a0c8186d9b9b7880309c27230bbb5e69d}{byte} $\ast$$\ast$stream)
\item 
int \hyperlink{d__protocol_8h_a26f12a29861661b37e4bea25d45b2ef3}{ReadByte} (\hyperlink{doomtype_8h_a0c8186d9b9b7880309c27230bbb5e69d}{byte} $\ast$$\ast$stream)
\item 
int \hyperlink{d__protocol_8h_a16ac072ee13a1098e0d42f5cf55e887a}{ReadWord} (\hyperlink{doomtype_8h_a0c8186d9b9b7880309c27230bbb5e69d}{byte} $\ast$$\ast$stream)
\item 
int \hyperlink{d__protocol_8h_a46d74564b99e1923548ca2a4eac377dd}{ReadLong} (\hyperlink{doomtype_8h_a0c8186d9b9b7880309c27230bbb5e69d}{byte} $\ast$$\ast$stream)
\item 
const char $\ast$ \hyperlink{d__protocol_8h_ab8871853fcbad388f764a35be8705a63}{ReadString} (\hyperlink{doomtype_8h_a0c8186d9b9b7880309c27230bbb5e69d}{byte} $\ast$$\ast$stream)
\item 
void \hyperlink{d__protocol_8h_a0fa7bc43a4c0cc1ba2bd03a20d2e2a85}{WriteByte} (\hyperlink{doomtype_8h_a0c8186d9b9b7880309c27230bbb5e69d}{byte} val, \hyperlink{doomtype_8h_a0c8186d9b9b7880309c27230bbb5e69d}{byte} $\ast$$\ast$stream)
\item 
void \hyperlink{d__protocol_8h_adf3a6845c076dae0ce4dba9b08b92ec0}{WriteWord} (short val, \hyperlink{doomtype_8h_a0c8186d9b9b7880309c27230bbb5e69d}{byte} $\ast$$\ast$stream)
\item 
void \hyperlink{d__protocol_8h_a35c7e61c17a2efd653c70b7233dce826}{WriteLong} (int val, \hyperlink{doomtype_8h_a0c8186d9b9b7880309c27230bbb5e69d}{byte} $\ast$$\ast$stream)
\item 
void \hyperlink{d__protocol_8h_a7ba678ba877436c6eadb88a220a939fc}{WriteString} (const char $\ast$\hyperlink{sv__main_8cpp_a77792b18743abf1ff3aeeffa24aa45ec}{string}, \hyperlink{doomtype_8h_a0c8186d9b9b7880309c27230bbb5e69d}{byte} $\ast$$\ast$stream)
\end{DoxyCompactItemize}


\subsection{Typedef Documentation}
\hypertarget{d__protocol_8h_a6c153a871accc419289d822f4e7d5fc2}{
\index{d\_\-protocol.h@{d\_\-protocol.h}!usercmd\_\-t@{usercmd\_\-t}}
\index{usercmd\_\-t@{usercmd\_\-t}!d_protocol.h@{d\_\-protocol.h}}
\subsubsection[{usercmd\_\-t}]{\setlength{\rightskip}{0pt plus 5cm}typedef struct {\bf usercmd\_\-s} {\bf usercmd\_\-t}}}
\label{d9/d71/d__protocol_8h_a6c153a871accc419289d822f4e7d5fc2}


\subsection{Function Documentation}
\hypertarget{d__protocol_8h_a61ee12a7417407cc111ce8acf102814d}{
\index{d\_\-protocol.h@{d\_\-protocol.h}!operator$<$$<$@{operator$<$$<$}}
\index{operator$<$$<$@{operator$<$$<$}!d_protocol.h@{d\_\-protocol.h}}
\subsubsection[{operator$<$$<$}]{\setlength{\rightskip}{0pt plus 5cm}{\bf FArchive}\& operator$<$$<$ (
\begin{DoxyParamCaption}
\item[{{\bf FArchive} \&}]{arc, }
\item[{{\bf usercmd\_\-t} \&}]{cmd}
\end{DoxyParamCaption}
)}}
\label{d9/d71/d__protocol_8h_a61ee12a7417407cc111ce8acf102814d}
\hypertarget{d__protocol_8h_adca65de99248583f1ba117748c842b50}{
\index{d\_\-protocol.h@{d\_\-protocol.h}!operator$>$$>$@{operator$>$$>$}}
\index{operator$>$$>$@{operator$>$$>$}!d_protocol.h@{d\_\-protocol.h}}
\subsubsection[{operator$>$$>$}]{\setlength{\rightskip}{0pt plus 5cm}{\bf FArchive}\& operator$>$$>$ (
\begin{DoxyParamCaption}
\item[{{\bf FArchive} \&}]{arc, }
\item[{{\bf usercmd\_\-t} \&}]{cmd}
\end{DoxyParamCaption}
)}}
\label{d9/d71/d__protocol_8h_adca65de99248583f1ba117748c842b50}
\hypertarget{d__protocol_8h_a28c1da477e24cfac17db5077464477fd}{
\index{d\_\-protocol.h@{d\_\-protocol.h}!PackUserCmd@{PackUserCmd}}
\index{PackUserCmd@{PackUserCmd}!d_protocol.h@{d\_\-protocol.h}}
\subsubsection[{PackUserCmd}]{\setlength{\rightskip}{0pt plus 5cm}int PackUserCmd (
\begin{DoxyParamCaption}
\item[{{\bf usercmd\_\-t} $\ast$}]{ucmd, }
\item[{{\bf byte} $\ast$$\ast$}]{stream}
\end{DoxyParamCaption}
)}}
\label{d9/d71/d__protocol_8h_a28c1da477e24cfac17db5077464477fd}
\hypertarget{d__protocol_8h_a26f12a29861661b37e4bea25d45b2ef3}{
\index{d\_\-protocol.h@{d\_\-protocol.h}!ReadByte@{ReadByte}}
\index{ReadByte@{ReadByte}!d_protocol.h@{d\_\-protocol.h}}
\subsubsection[{ReadByte}]{\setlength{\rightskip}{0pt plus 5cm}int ReadByte (
\begin{DoxyParamCaption}
\item[{{\bf byte} $\ast$$\ast$}]{stream}
\end{DoxyParamCaption}
)}}
\label{d9/d71/d__protocol_8h_a26f12a29861661b37e4bea25d45b2ef3}
\hypertarget{d__protocol_8h_a46d74564b99e1923548ca2a4eac377dd}{
\index{d\_\-protocol.h@{d\_\-protocol.h}!ReadLong@{ReadLong}}
\index{ReadLong@{ReadLong}!d_protocol.h@{d\_\-protocol.h}}
\subsubsection[{ReadLong}]{\setlength{\rightskip}{0pt plus 5cm}int ReadLong (
\begin{DoxyParamCaption}
\item[{{\bf byte} $\ast$$\ast$}]{stream}
\end{DoxyParamCaption}
)}}
\label{d9/d71/d__protocol_8h_a46d74564b99e1923548ca2a4eac377dd}
\hypertarget{d__protocol_8h_ab8871853fcbad388f764a35be8705a63}{
\index{d\_\-protocol.h@{d\_\-protocol.h}!ReadString@{ReadString}}
\index{ReadString@{ReadString}!d_protocol.h@{d\_\-protocol.h}}
\subsubsection[{ReadString}]{\setlength{\rightskip}{0pt plus 5cm}const char$\ast$ ReadString (
\begin{DoxyParamCaption}
\item[{{\bf byte} $\ast$$\ast$}]{stream}
\end{DoxyParamCaption}
)}}
\label{d9/d71/d__protocol_8h_ab8871853fcbad388f764a35be8705a63}
\hypertarget{d__protocol_8h_a16ac072ee13a1098e0d42f5cf55e887a}{
\index{d\_\-protocol.h@{d\_\-protocol.h}!ReadWord@{ReadWord}}
\index{ReadWord@{ReadWord}!d_protocol.h@{d\_\-protocol.h}}
\subsubsection[{ReadWord}]{\setlength{\rightskip}{0pt plus 5cm}int ReadWord (
\begin{DoxyParamCaption}
\item[{{\bf byte} $\ast$$\ast$}]{stream}
\end{DoxyParamCaption}
)}}
\label{d9/d71/d__protocol_8h_a16ac072ee13a1098e0d42f5cf55e887a}
\hypertarget{d__protocol_8h_a7e817cbf87fe5fa1eb8b4530cde05094}{
\index{d\_\-protocol.h@{d\_\-protocol.h}!UnpackUserCmd@{UnpackUserCmd}}
\index{UnpackUserCmd@{UnpackUserCmd}!d_protocol.h@{d\_\-protocol.h}}
\subsubsection[{UnpackUserCmd}]{\setlength{\rightskip}{0pt plus 5cm}int UnpackUserCmd (
\begin{DoxyParamCaption}
\item[{{\bf usercmd\_\-t} $\ast$}]{ucmd, }
\item[{{\bf byte} $\ast$$\ast$}]{stream}
\end{DoxyParamCaption}
)}}
\label{d9/d71/d__protocol_8h_a7e817cbf87fe5fa1eb8b4530cde05094}
\hypertarget{d__protocol_8h_a0fa7bc43a4c0cc1ba2bd03a20d2e2a85}{
\index{d\_\-protocol.h@{d\_\-protocol.h}!WriteByte@{WriteByte}}
\index{WriteByte@{WriteByte}!d_protocol.h@{d\_\-protocol.h}}
\subsubsection[{WriteByte}]{\setlength{\rightskip}{0pt plus 5cm}void WriteByte (
\begin{DoxyParamCaption}
\item[{{\bf byte}}]{val, }
\item[{{\bf byte} $\ast$$\ast$}]{stream}
\end{DoxyParamCaption}
)}}
\label{d9/d71/d__protocol_8h_a0fa7bc43a4c0cc1ba2bd03a20d2e2a85}
\hypertarget{d__protocol_8h_a35c7e61c17a2efd653c70b7233dce826}{
\index{d\_\-protocol.h@{d\_\-protocol.h}!WriteLong@{WriteLong}}
\index{WriteLong@{WriteLong}!d_protocol.h@{d\_\-protocol.h}}
\subsubsection[{WriteLong}]{\setlength{\rightskip}{0pt plus 5cm}void WriteLong (
\begin{DoxyParamCaption}
\item[{int}]{val, }
\item[{{\bf byte} $\ast$$\ast$}]{stream}
\end{DoxyParamCaption}
)}}
\label{d9/d71/d__protocol_8h_a35c7e61c17a2efd653c70b7233dce826}
\hypertarget{d__protocol_8h_a7ba678ba877436c6eadb88a220a939fc}{
\index{d\_\-protocol.h@{d\_\-protocol.h}!WriteString@{WriteString}}
\index{WriteString@{WriteString}!d_protocol.h@{d\_\-protocol.h}}
\subsubsection[{WriteString}]{\setlength{\rightskip}{0pt plus 5cm}void WriteString (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{string, }
\item[{{\bf byte} $\ast$$\ast$}]{stream}
\end{DoxyParamCaption}
)}}
\label{d9/d71/d__protocol_8h_a7ba678ba877436c6eadb88a220a939fc}
\hypertarget{d__protocol_8h_adf3a6845c076dae0ce4dba9b08b92ec0}{
\index{d\_\-protocol.h@{d\_\-protocol.h}!WriteWord@{WriteWord}}
\index{WriteWord@{WriteWord}!d_protocol.h@{d\_\-protocol.h}}
\subsubsection[{WriteWord}]{\setlength{\rightskip}{0pt plus 5cm}void WriteWord (
\begin{DoxyParamCaption}
\item[{short}]{val, }
\item[{{\bf byte} $\ast$$\ast$}]{stream}
\end{DoxyParamCaption}
)}}
\label{d9/d71/d__protocol_8h_adf3a6845c076dae0ce4dba9b08b92ec0}
