\hypertarget{sv__main_8h}{
\section{server/src/sv\_\-main.h File Reference}
\label{d6/d00/sv__main_8h}\index{server/src/sv\_\-main.h@{server/src/sv\_\-main.h}}
}
\subsection*{Data Structures}
\begin{DoxyCompactItemize}
\item 
class \hyperlink{classclient__c}{client\_\-c}
\end{DoxyCompactItemize}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
void \hyperlink{sv__main_8h_af5852b15d4c1d651afb9a75c9dbe5fa3}{SV\_\-InitNetwork} (void)
\item 
void \hyperlink{sv__main_8h_a8477d64295cf6574fee698ffa4a6bfd5}{SV\_\-SendDisconnectSignal} ()
\item 
void \hyperlink{sv__main_8h_a60ba11408df8904ae8795737c5b5f456}{SV\_\-SendReconnectSignal} ()
\item 
void \hyperlink{sv__main_8h_a026b40ba66073c8869be6698156136b3}{SV\_\-ExitLevel} ()
\item 
void \hyperlink{sv__main_8h_ac26d5d7360a111566c9dd4d4147d7802}{SV\_\-DrawScores} ()
\item 
bool \hyperlink{sv__main_8h_a9860828c60576d6bafebf6e46df7e8dd}{SV\_\-IsPlayerAllowedToSee} (\hyperlink{classplayer__s}{player\_\-t} \&pl, \hyperlink{classAActor}{AActor} $\ast$mobj)
\item 
\hyperlink{doomtype_8h_a0c8186d9b9b7880309c27230bbb5e69d}{byte} \hyperlink{sv__main_8h_af20c9010720fe795113120c062ad5665}{SV\_\-PlayerHearingLoss} (\hyperlink{classplayer__s}{player\_\-t} \&\hyperlink{sv__main_8cpp_a2e6b94b88b969b92e914e3296ae69264}{cl}, \hyperlink{m__fixed_8h_a7fdea216e6bec468d1569e8ab1bd469b}{fixed\_\-t} \&\hyperlink{cl__main_8cpp_ad4dec120c8756cb4abbd4bd41f63f9bf}{x}, \hyperlink{m__fixed_8h_a7fdea216e6bec468d1569e8ab1bd469b}{fixed\_\-t} \&\hyperlink{v__video_8cpp_a0a2f84ed7838f07779ae24c5a9086d33}{y})
\item 
void STACK\_\-ARGS \hyperlink{sv__main_8h_a992cce00272b365cd013046409e5909f}{SV\_\-BroadcastPrintf} (int \hyperlink{sv__main_8cpp_a368770cadef7c57475ca4f3aabff42c0}{level}, const char $\ast$\hyperlink{sv__main_8cpp_a381d684d94e6e91dee650357e8f02fa8}{fmt},...)
\item 
void STACK\_\-ARGS \hyperlink{sv__main_8h_aa4a9656534d81b4958f6c52eec203f97}{SV\_\-SpectatorPrintf} (int \hyperlink{sv__main_8cpp_a368770cadef7c57475ca4f3aabff42c0}{level}, const char $\ast$\hyperlink{sv__main_8cpp_a381d684d94e6e91dee650357e8f02fa8}{fmt},...)
\item 
void \hyperlink{sv__main_8h_a6a781b10f2d83d9371a32f00546aa180}{SV\_\-CheckTimeouts} (void)
\item 
void \hyperlink{sv__main_8h_aa2e97e773cdba44c385b510b389ab663}{SV\_\-ConnectClient} (void)
\item 
void \hyperlink{sv__main_8h_a7f2627c2054779b816cec471ee3c24ed}{SV\_\-WriteCommands} (void)
\item 
void \hyperlink{sv__main_8h_aab81af61b433e0639672958fa3311b97}{SV\_\-ClearClientsBPS} (void)
\item 
bool \hyperlink{sv__main_8h_ad302d9fdad04dfa16d9497a6f946cd8c}{SV\_\-SendPacket} (\hyperlink{classplayer__s}{player\_\-t} \&pl)
\item 
void \hyperlink{sv__main_8h_a67eb6a194b64b5ff5adf50020a80c47b}{SV\_\-AcknowledgePacket} (\hyperlink{classplayer__s}{player\_\-t} \&player)
\item 
void \hyperlink{sv__main_8h_ab80f9f598221304a607e1e32d409ab59}{SV\_\-RunTics} (void)
\item 
void \hyperlink{sv__main_8h_a2f5705b23f0c34237b054fb5e3be4d29}{SV\_\-ParseCommands} (\hyperlink{classplayer__s}{player\_\-t} \&player)
\item 
short \hyperlink{sv__main_8h_aa41fa7c299a34d084ff003f8daacd7ca}{SV\_\-FindClientByAddr} (void)
\item 
void \hyperlink{sv__main_8h_acb84bff2e99814ac9b0b0ee527d4d849}{SV\_\-UpdateFrags} (\hyperlink{classplayer__s}{player\_\-t} \&player)
\item 
void \hyperlink{sv__main_8h_a3f297356efd349d0edbc5fd856d63efe}{SV\_\-RemoveCorpses} (void)
\item 
void \hyperlink{sv__main_8h_a231f31929a2967d3a5b281eb2ccb159f}{SV\_\-DropClient} (\hyperlink{classplayer__s}{player\_\-t} \&who)
\item 
void \hyperlink{sv__main_8h_ada5ff712257b76e94363d4b346d2fe49}{SV\_\-PlayerTriedToCheat} (\hyperlink{classplayer__s}{player\_\-t} \&player)
\item 
void \hyperlink{sv__main_8h_ab322f6550199e5a8ca164c74f676051f}{SV\_\-ActorTarget} (\hyperlink{classAActor}{AActor} $\ast$actor)
\item 
void \hyperlink{sv__main_8h_a14d56d88300e06012ee3cc24606d48ea}{SV\_\-ActorTracer} (\hyperlink{classAActor}{AActor} $\ast$actor)
\item 
void \hyperlink{sv__main_8h_a6758d6dad162d182e98ade83abdfc893}{SV\_\-Suicide} (\hyperlink{classplayer__s}{player\_\-t} \&player)
\item 
void \hyperlink{sv__main_8h_a4437511f87a325c3eb33ee2329cbc023}{SV\_\-SpawnMobj} (\hyperlink{classAActor}{AActor} $\ast$mo)
\item 
void \hyperlink{sv__main_8h_a02ff450fbd110a7ef6430edb658bc0fb}{SV\_\-TouchSpecial} (\hyperlink{classAActor}{AActor} $\ast$special, \hyperlink{classplayer__s}{player\_\-t} $\ast$player)
\item 
void \hyperlink{sv__main_8h_a888f4056937a18edf9216381e0d28cf0}{SV\_\-Sound} (\hyperlink{classAActor}{AActor} $\ast$mo, \hyperlink{doomtype_8h_a0c8186d9b9b7880309c27230bbb5e69d}{byte} \hyperlink{client_2src_2s__sound_8cpp_af47cc32ca53f87ba846539cc7019ea8d}{channel}, const char $\ast$\hyperlink{txt__io_8cpp_a8f8f80d37794cde9472343e4487ba3eb}{name}, \hyperlink{doomtype_8h_a0c8186d9b9b7880309c27230bbb5e69d}{byte} attenuation)
\item 
void \hyperlink{sv__main_8h_a4a4fa9ad89b557a7fe00190b9cc89d59}{SV\_\-Sound} (\hyperlink{structplayer__s_1_1client__t}{client\_\-t} $\ast$\hyperlink{sv__main_8cpp_a2e6b94b88b969b92e914e3296ae69264}{cl}, \hyperlink{classAActor}{AActor} $\ast$mo, \hyperlink{doomtype_8h_a0c8186d9b9b7880309c27230bbb5e69d}{byte} \hyperlink{client_2src_2s__sound_8cpp_af47cc32ca53f87ba846539cc7019ea8d}{channel}, const char $\ast$\hyperlink{txt__io_8cpp_a8f8f80d37794cde9472343e4487ba3eb}{name}, \hyperlink{doomtype_8h_a0c8186d9b9b7880309c27230bbb5e69d}{byte} attenuation)
\item 
void \hyperlink{sv__main_8h_a4d0664f20e5cf77a66d9a3ca3d1aee2a}{SV\_\-Sound} (\hyperlink{m__fixed_8h_a7fdea216e6bec468d1569e8ab1bd469b}{fixed\_\-t} \hyperlink{cl__main_8cpp_ad4dec120c8756cb4abbd4bd41f63f9bf}{x}, \hyperlink{m__fixed_8h_a7fdea216e6bec468d1569e8ab1bd469b}{fixed\_\-t} \hyperlink{v__video_8cpp_a0a2f84ed7838f07779ae24c5a9086d33}{y}, \hyperlink{doomtype_8h_a0c8186d9b9b7880309c27230bbb5e69d}{byte} \hyperlink{client_2src_2s__sound_8cpp_af47cc32ca53f87ba846539cc7019ea8d}{channel}, const char $\ast$\hyperlink{txt__io_8cpp_a8f8f80d37794cde9472343e4487ba3eb}{name}, \hyperlink{doomtype_8h_a0c8186d9b9b7880309c27230bbb5e69d}{byte} attenuation)
\item 
void \hyperlink{sv__main_8h_a0af33ba86ec0d5dd1a1a517945ebfb00}{SV\_\-SoundTeam} (\hyperlink{doomtype_8h_a0c8186d9b9b7880309c27230bbb5e69d}{byte} \hyperlink{client_2src_2s__sound_8cpp_af47cc32ca53f87ba846539cc7019ea8d}{channel}, const char $\ast$\hyperlink{txt__io_8cpp_a8f8f80d37794cde9472343e4487ba3eb}{name}, \hyperlink{doomtype_8h_a0c8186d9b9b7880309c27230bbb5e69d}{byte} attenuation, int t)
\item 
void \hyperlink{sv__main_8h_a1fccecba486a5fd789a20d16fe256e84}{SV\_\-SoundAvoidCl} (\hyperlink{classplayer__s}{player\_\-t} \&player, \hyperlink{classAActor}{AActor} $\ast$mo, \hyperlink{doomtype_8h_a0c8186d9b9b7880309c27230bbb5e69d}{byte} \hyperlink{client_2src_2s__sound_8cpp_af47cc32ca53f87ba846539cc7019ea8d}{channel}, char $\ast$\hyperlink{txt__io_8cpp_a8f8f80d37794cde9472343e4487ba3eb}{name}, \hyperlink{doomtype_8h_a0c8186d9b9b7880309c27230bbb5e69d}{byte} attenuation)
\item 
void \hyperlink{sv__main_8h_a97883c0ae390ac619820a492ece5e7e2}{SV\_\-MidPrint} (const char $\ast$msg, \hyperlink{classplayer__s}{player\_\-t} $\ast$\hyperlink{server_2src_2c__console_8cpp_a7bc58a99d0c721378c1951474db4c3b8}{p}, int msgtime=0)
\item 
int \hyperlink{sv__main_8h_aa9c96e0ad1fca1af882926c83d35ec26}{SV\_\-CountTeamPlayers} (int team)
\item 
void \hyperlink{sv__main_8h_a62de243bf82119cf8d113cb89f77ff23}{MSG\_\-WriteMarker} (\hyperlink{classbuf__t}{buf\_\-t} $\ast$\hyperlink{client_2src_2v__palette_8cpp_a2c8b5e93edf6061940ca34185468fa03}{b}, \hyperlink{common_2i__net_8h_a0b2f4b444a3f035abb402318fc8e4353}{svc\_\-t} c)
\item 
void \hyperlink{sv__main_8h_a7aff4893e6658c7bd4fb9d670f8122e1}{SV\_\-SendKillMobj} (\hyperlink{classAActor}{AActor} $\ast$\hyperlink{client_2src_2s__sound_8cpp_a73481622668a30ed7983be7427fb1c2f}{source}, \hyperlink{classAActor}{AActor} $\ast$target, \hyperlink{classAActor}{AActor} $\ast$inflictor, bool joinkill)
\item 
void \hyperlink{sv__main_8h_a1f35c264530a79c815f1b5194c855a27}{SV\_\-SendDamagePlayer} (\hyperlink{classplayer__s}{player\_\-t} $\ast$player, int pain)
\item 
void \hyperlink{sv__main_8h_ae08d50722f96d06bb3e083bb068a7f3b}{SV\_\-SendDamageMobj} (\hyperlink{classAActor}{AActor} $\ast$target, int pain)
\item 
void \hyperlink{sv__main_8h_a72b77446e4d7d006d36a4ce15d0afc6d}{SV\_\-SendDestroyActor} (\hyperlink{classAActor}{AActor} $\ast$mo)
\end{DoxyCompactItemize}
\subsection*{Variables}
\begin{DoxyCompactItemize}
\item 
int \hyperlink{sv__main_8h_a9b42a97a4238e4fe445ba94b0cef860f}{shotclock}
\item 
bool \hyperlink{sv__main_8h_aa162d3e31146f14443cabb05a829bec7}{unnatural\_\-level\_\-progression}
\item 
\hyperlink{classclient__c}{client\_\-c} \hyperlink{sv__main_8h_afb368ea3d569553da690e87badbbc031}{clients}
\item 
std::vector$<$ \hyperlink{sv__main_8cpp_a77792b18743abf1ff3aeeffa24aa45ec}{std::string} $>$ \hyperlink{sv__main_8h_ad8417c96ce051231c6aff3cf33ce0edc}{wadnames}
\end{DoxyCompactItemize}


\subsection{Function Documentation}
\hypertarget{sv__main_8h_a62de243bf82119cf8d113cb89f77ff23}{
\index{sv\_\-main.h@{sv\_\-main.h}!MSG\_\-WriteMarker@{MSG\_\-WriteMarker}}
\index{MSG\_\-WriteMarker@{MSG\_\-WriteMarker}!sv_main.h@{sv\_\-main.h}}
\subsubsection[{MSG\_\-WriteMarker}]{\setlength{\rightskip}{0pt plus 5cm}void MSG\_\-WriteMarker (
\begin{DoxyParamCaption}
\item[{{\bf buf\_\-t} $\ast$}]{b, }
\item[{{\bf svc\_\-t}}]{c}
\end{DoxyParamCaption}
)}}
\label{d6/d00/sv__main_8h_a62de243bf82119cf8d113cb89f77ff23}
\hypertarget{sv__main_8h_a67eb6a194b64b5ff5adf50020a80c47b}{
\index{sv\_\-main.h@{sv\_\-main.h}!SV\_\-AcknowledgePacket@{SV\_\-AcknowledgePacket}}
\index{SV\_\-AcknowledgePacket@{SV\_\-AcknowledgePacket}!sv_main.h@{sv\_\-main.h}}
\subsubsection[{SV\_\-AcknowledgePacket}]{\setlength{\rightskip}{0pt plus 5cm}void SV\_\-AcknowledgePacket (
\begin{DoxyParamCaption}
\item[{{\bf player\_\-t} \&}]{player}
\end{DoxyParamCaption}
)}}
\label{d6/d00/sv__main_8h_a67eb6a194b64b5ff5adf50020a80c47b}
\hypertarget{sv__main_8h_ab322f6550199e5a8ca164c74f676051f}{
\index{sv\_\-main.h@{sv\_\-main.h}!SV\_\-ActorTarget@{SV\_\-ActorTarget}}
\index{SV\_\-ActorTarget@{SV\_\-ActorTarget}!sv_main.h@{sv\_\-main.h}}
\subsubsection[{SV\_\-ActorTarget}]{\setlength{\rightskip}{0pt plus 5cm}void SV\_\-ActorTarget (
\begin{DoxyParamCaption}
\item[{{\bf AActor} $\ast$}]{actor}
\end{DoxyParamCaption}
)}}
\label{d6/d00/sv__main_8h_ab322f6550199e5a8ca164c74f676051f}
\hypertarget{sv__main_8h_a14d56d88300e06012ee3cc24606d48ea}{
\index{sv\_\-main.h@{sv\_\-main.h}!SV\_\-ActorTracer@{SV\_\-ActorTracer}}
\index{SV\_\-ActorTracer@{SV\_\-ActorTracer}!sv_main.h@{sv\_\-main.h}}
\subsubsection[{SV\_\-ActorTracer}]{\setlength{\rightskip}{0pt plus 5cm}void SV\_\-ActorTracer (
\begin{DoxyParamCaption}
\item[{{\bf AActor} $\ast$}]{actor}
\end{DoxyParamCaption}
)}}
\label{d6/d00/sv__main_8h_a14d56d88300e06012ee3cc24606d48ea}
\hypertarget{sv__main_8h_a992cce00272b365cd013046409e5909f}{
\index{sv\_\-main.h@{sv\_\-main.h}!SV\_\-BroadcastPrintf@{SV\_\-BroadcastPrintf}}
\index{SV\_\-BroadcastPrintf@{SV\_\-BroadcastPrintf}!sv_main.h@{sv\_\-main.h}}
\subsubsection[{SV\_\-BroadcastPrintf}]{\setlength{\rightskip}{0pt plus 5cm}void STACK\_\-ARGS SV\_\-BroadcastPrintf (
\begin{DoxyParamCaption}
\item[{int}]{level, }
\item[{const char $\ast$}]{fmt, }
\item[{}]{...}
\end{DoxyParamCaption}
)}}
\label{d6/d00/sv__main_8h_a992cce00272b365cd013046409e5909f}
\hypertarget{sv__main_8h_a6a781b10f2d83d9371a32f00546aa180}{
\index{sv\_\-main.h@{sv\_\-main.h}!SV\_\-CheckTimeouts@{SV\_\-CheckTimeouts}}
\index{SV\_\-CheckTimeouts@{SV\_\-CheckTimeouts}!sv_main.h@{sv\_\-main.h}}
\subsubsection[{SV\_\-CheckTimeouts}]{\setlength{\rightskip}{0pt plus 5cm}void SV\_\-CheckTimeouts (
\begin{DoxyParamCaption}
\item[{void}]{}
\end{DoxyParamCaption}
)}}
\label{d6/d00/sv__main_8h_a6a781b10f2d83d9371a32f00546aa180}
\hypertarget{sv__main_8h_aab81af61b433e0639672958fa3311b97}{
\index{sv\_\-main.h@{sv\_\-main.h}!SV\_\-ClearClientsBPS@{SV\_\-ClearClientsBPS}}
\index{SV\_\-ClearClientsBPS@{SV\_\-ClearClientsBPS}!sv_main.h@{sv\_\-main.h}}
\subsubsection[{SV\_\-ClearClientsBPS}]{\setlength{\rightskip}{0pt plus 5cm}void SV\_\-ClearClientsBPS (
\begin{DoxyParamCaption}
\item[{void}]{}
\end{DoxyParamCaption}
)}}
\label{d6/d00/sv__main_8h_aab81af61b433e0639672958fa3311b97}
\hypertarget{sv__main_8h_aa2e97e773cdba44c385b510b389ab663}{
\index{sv\_\-main.h@{sv\_\-main.h}!SV\_\-ConnectClient@{SV\_\-ConnectClient}}
\index{SV\_\-ConnectClient@{SV\_\-ConnectClient}!sv_main.h@{sv\_\-main.h}}
\subsubsection[{SV\_\-ConnectClient}]{\setlength{\rightskip}{0pt plus 5cm}void SV\_\-ConnectClient (
\begin{DoxyParamCaption}
\item[{void}]{}
\end{DoxyParamCaption}
)}}
\label{d6/d00/sv__main_8h_aa2e97e773cdba44c385b510b389ab663}
\hypertarget{sv__main_8h_aa9c96e0ad1fca1af882926c83d35ec26}{
\index{sv\_\-main.h@{sv\_\-main.h}!SV\_\-CountTeamPlayers@{SV\_\-CountTeamPlayers}}
\index{SV\_\-CountTeamPlayers@{SV\_\-CountTeamPlayers}!sv_main.h@{sv\_\-main.h}}
\subsubsection[{SV\_\-CountTeamPlayers}]{\setlength{\rightskip}{0pt plus 5cm}int SV\_\-CountTeamPlayers (
\begin{DoxyParamCaption}
\item[{int}]{team}
\end{DoxyParamCaption}
)}}
\label{d6/d00/sv__main_8h_aa9c96e0ad1fca1af882926c83d35ec26}
\hypertarget{sv__main_8h_ac26d5d7360a111566c9dd4d4147d7802}{
\index{sv\_\-main.h@{sv\_\-main.h}!SV\_\-DrawScores@{SV\_\-DrawScores}}
\index{SV\_\-DrawScores@{SV\_\-DrawScores}!sv_main.h@{sv\_\-main.h}}
\subsubsection[{SV\_\-DrawScores}]{\setlength{\rightskip}{0pt plus 5cm}void SV\_\-DrawScores (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}
\label{d6/d00/sv__main_8h_ac26d5d7360a111566c9dd4d4147d7802}
\hypertarget{sv__main_8h_a231f31929a2967d3a5b281eb2ccb159f}{
\index{sv\_\-main.h@{sv\_\-main.h}!SV\_\-DropClient@{SV\_\-DropClient}}
\index{SV\_\-DropClient@{SV\_\-DropClient}!sv_main.h@{sv\_\-main.h}}
\subsubsection[{SV\_\-DropClient}]{\setlength{\rightskip}{0pt plus 5cm}void SV\_\-DropClient (
\begin{DoxyParamCaption}
\item[{{\bf player\_\-t} \&}]{who}
\end{DoxyParamCaption}
)}}
\label{d6/d00/sv__main_8h_a231f31929a2967d3a5b281eb2ccb159f}
\hypertarget{sv__main_8h_a026b40ba66073c8869be6698156136b3}{
\index{sv\_\-main.h@{sv\_\-main.h}!SV\_\-ExitLevel@{SV\_\-ExitLevel}}
\index{SV\_\-ExitLevel@{SV\_\-ExitLevel}!sv_main.h@{sv\_\-main.h}}
\subsubsection[{SV\_\-ExitLevel}]{\setlength{\rightskip}{0pt plus 5cm}void SV\_\-ExitLevel (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}
\label{d6/d00/sv__main_8h_a026b40ba66073c8869be6698156136b3}
\hypertarget{sv__main_8h_aa41fa7c299a34d084ff003f8daacd7ca}{
\index{sv\_\-main.h@{sv\_\-main.h}!SV\_\-FindClientByAddr@{SV\_\-FindClientByAddr}}
\index{SV\_\-FindClientByAddr@{SV\_\-FindClientByAddr}!sv_main.h@{sv\_\-main.h}}
\subsubsection[{SV\_\-FindClientByAddr}]{\setlength{\rightskip}{0pt plus 5cm}short SV\_\-FindClientByAddr (
\begin{DoxyParamCaption}
\item[{void}]{}
\end{DoxyParamCaption}
)}}
\label{d6/d00/sv__main_8h_aa41fa7c299a34d084ff003f8daacd7ca}
\hypertarget{sv__main_8h_af5852b15d4c1d651afb9a75c9dbe5fa3}{
\index{sv\_\-main.h@{sv\_\-main.h}!SV\_\-InitNetwork@{SV\_\-InitNetwork}}
\index{SV\_\-InitNetwork@{SV\_\-InitNetwork}!sv_main.h@{sv\_\-main.h}}
\subsubsection[{SV\_\-InitNetwork}]{\setlength{\rightskip}{0pt plus 5cm}void SV\_\-InitNetwork (
\begin{DoxyParamCaption}
\item[{void}]{}
\end{DoxyParamCaption}
)}}
\label{d6/d00/sv__main_8h_af5852b15d4c1d651afb9a75c9dbe5fa3}
\hypertarget{sv__main_8h_a9860828c60576d6bafebf6e46df7e8dd}{
\index{sv\_\-main.h@{sv\_\-main.h}!SV\_\-IsPlayerAllowedToSee@{SV\_\-IsPlayerAllowedToSee}}
\index{SV\_\-IsPlayerAllowedToSee@{SV\_\-IsPlayerAllowedToSee}!sv_main.h@{sv\_\-main.h}}
\subsubsection[{SV\_\-IsPlayerAllowedToSee}]{\setlength{\rightskip}{0pt plus 5cm}bool SV\_\-IsPlayerAllowedToSee (
\begin{DoxyParamCaption}
\item[{{\bf player\_\-t} \&}]{pl, }
\item[{{\bf AActor} $\ast$}]{mobj}
\end{DoxyParamCaption}
)}}
\label{d6/d00/sv__main_8h_a9860828c60576d6bafebf6e46df7e8dd}
\hypertarget{sv__main_8h_a97883c0ae390ac619820a492ece5e7e2}{
\index{sv\_\-main.h@{sv\_\-main.h}!SV\_\-MidPrint@{SV\_\-MidPrint}}
\index{SV\_\-MidPrint@{SV\_\-MidPrint}!sv_main.h@{sv\_\-main.h}}
\subsubsection[{SV\_\-MidPrint}]{\setlength{\rightskip}{0pt plus 5cm}void SV\_\-MidPrint (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{msg, }
\item[{{\bf player\_\-t} $\ast$}]{p, }
\item[{int}]{msgtime = {\ttfamily 0}}
\end{DoxyParamCaption}
)}}
\label{d6/d00/sv__main_8h_a97883c0ae390ac619820a492ece5e7e2}
\hypertarget{sv__main_8h_a2f5705b23f0c34237b054fb5e3be4d29}{
\index{sv\_\-main.h@{sv\_\-main.h}!SV\_\-ParseCommands@{SV\_\-ParseCommands}}
\index{SV\_\-ParseCommands@{SV\_\-ParseCommands}!sv_main.h@{sv\_\-main.h}}
\subsubsection[{SV\_\-ParseCommands}]{\setlength{\rightskip}{0pt plus 5cm}void SV\_\-ParseCommands (
\begin{DoxyParamCaption}
\item[{{\bf player\_\-t} \&}]{player}
\end{DoxyParamCaption}
)}}
\label{d6/d00/sv__main_8h_a2f5705b23f0c34237b054fb5e3be4d29}
\hypertarget{sv__main_8h_af20c9010720fe795113120c062ad5665}{
\index{sv\_\-main.h@{sv\_\-main.h}!SV\_\-PlayerHearingLoss@{SV\_\-PlayerHearingLoss}}
\index{SV\_\-PlayerHearingLoss@{SV\_\-PlayerHearingLoss}!sv_main.h@{sv\_\-main.h}}
\subsubsection[{SV\_\-PlayerHearingLoss}]{\setlength{\rightskip}{0pt plus 5cm}{\bf byte} SV\_\-PlayerHearingLoss (
\begin{DoxyParamCaption}
\item[{{\bf player\_\-t} \&}]{cl, }
\item[{{\bf fixed\_\-t} \&}]{x, }
\item[{{\bf fixed\_\-t} \&}]{y}
\end{DoxyParamCaption}
)}}
\label{d6/d00/sv__main_8h_af20c9010720fe795113120c062ad5665}
\hypertarget{sv__main_8h_ada5ff712257b76e94363d4b346d2fe49}{
\index{sv\_\-main.h@{sv\_\-main.h}!SV\_\-PlayerTriedToCheat@{SV\_\-PlayerTriedToCheat}}
\index{SV\_\-PlayerTriedToCheat@{SV\_\-PlayerTriedToCheat}!sv_main.h@{sv\_\-main.h}}
\subsubsection[{SV\_\-PlayerTriedToCheat}]{\setlength{\rightskip}{0pt plus 5cm}void SV\_\-PlayerTriedToCheat (
\begin{DoxyParamCaption}
\item[{{\bf player\_\-t} \&}]{player}
\end{DoxyParamCaption}
)}}
\label{d6/d00/sv__main_8h_ada5ff712257b76e94363d4b346d2fe49}
\hypertarget{sv__main_8h_a3f297356efd349d0edbc5fd856d63efe}{
\index{sv\_\-main.h@{sv\_\-main.h}!SV\_\-RemoveCorpses@{SV\_\-RemoveCorpses}}
\index{SV\_\-RemoveCorpses@{SV\_\-RemoveCorpses}!sv_main.h@{sv\_\-main.h}}
\subsubsection[{SV\_\-RemoveCorpses}]{\setlength{\rightskip}{0pt plus 5cm}void SV\_\-RemoveCorpses (
\begin{DoxyParamCaption}
\item[{void}]{}
\end{DoxyParamCaption}
)}}
\label{d6/d00/sv__main_8h_a3f297356efd349d0edbc5fd856d63efe}
\hypertarget{sv__main_8h_ab80f9f598221304a607e1e32d409ab59}{
\index{sv\_\-main.h@{sv\_\-main.h}!SV\_\-RunTics@{SV\_\-RunTics}}
\index{SV\_\-RunTics@{SV\_\-RunTics}!sv_main.h@{sv\_\-main.h}}
\subsubsection[{SV\_\-RunTics}]{\setlength{\rightskip}{0pt plus 5cm}void SV\_\-RunTics (
\begin{DoxyParamCaption}
\item[{void}]{}
\end{DoxyParamCaption}
)}}
\label{d6/d00/sv__main_8h_ab80f9f598221304a607e1e32d409ab59}
\hypertarget{sv__main_8h_ae08d50722f96d06bb3e083bb068a7f3b}{
\index{sv\_\-main.h@{sv\_\-main.h}!SV\_\-SendDamageMobj@{SV\_\-SendDamageMobj}}
\index{SV\_\-SendDamageMobj@{SV\_\-SendDamageMobj}!sv_main.h@{sv\_\-main.h}}
\subsubsection[{SV\_\-SendDamageMobj}]{\setlength{\rightskip}{0pt plus 5cm}void SV\_\-SendDamageMobj (
\begin{DoxyParamCaption}
\item[{{\bf AActor} $\ast$}]{target, }
\item[{int}]{pain}
\end{DoxyParamCaption}
)}}
\label{d6/d00/sv__main_8h_ae08d50722f96d06bb3e083bb068a7f3b}
\hypertarget{sv__main_8h_a1f35c264530a79c815f1b5194c855a27}{
\index{sv\_\-main.h@{sv\_\-main.h}!SV\_\-SendDamagePlayer@{SV\_\-SendDamagePlayer}}
\index{SV\_\-SendDamagePlayer@{SV\_\-SendDamagePlayer}!sv_main.h@{sv\_\-main.h}}
\subsubsection[{SV\_\-SendDamagePlayer}]{\setlength{\rightskip}{0pt plus 5cm}void SV\_\-SendDamagePlayer (
\begin{DoxyParamCaption}
\item[{{\bf player\_\-t} $\ast$}]{player, }
\item[{int}]{pain}
\end{DoxyParamCaption}
)}}
\label{d6/d00/sv__main_8h_a1f35c264530a79c815f1b5194c855a27}
\hypertarget{sv__main_8h_a72b77446e4d7d006d36a4ce15d0afc6d}{
\index{sv\_\-main.h@{sv\_\-main.h}!SV\_\-SendDestroyActor@{SV\_\-SendDestroyActor}}
\index{SV\_\-SendDestroyActor@{SV\_\-SendDestroyActor}!sv_main.h@{sv\_\-main.h}}
\subsubsection[{SV\_\-SendDestroyActor}]{\setlength{\rightskip}{0pt plus 5cm}void SV\_\-SendDestroyActor (
\begin{DoxyParamCaption}
\item[{{\bf AActor} $\ast$}]{mo}
\end{DoxyParamCaption}
)}}
\label{d6/d00/sv__main_8h_a72b77446e4d7d006d36a4ce15d0afc6d}
\hypertarget{sv__main_8h_a8477d64295cf6574fee698ffa4a6bfd5}{
\index{sv\_\-main.h@{sv\_\-main.h}!SV\_\-SendDisconnectSignal@{SV\_\-SendDisconnectSignal}}
\index{SV\_\-SendDisconnectSignal@{SV\_\-SendDisconnectSignal}!sv_main.h@{sv\_\-main.h}}
\subsubsection[{SV\_\-SendDisconnectSignal}]{\setlength{\rightskip}{0pt plus 5cm}void SV\_\-SendDisconnectSignal (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}
\label{d6/d00/sv__main_8h_a8477d64295cf6574fee698ffa4a6bfd5}
\hypertarget{sv__main_8h_a7aff4893e6658c7bd4fb9d670f8122e1}{
\index{sv\_\-main.h@{sv\_\-main.h}!SV\_\-SendKillMobj@{SV\_\-SendKillMobj}}
\index{SV\_\-SendKillMobj@{SV\_\-SendKillMobj}!sv_main.h@{sv\_\-main.h}}
\subsubsection[{SV\_\-SendKillMobj}]{\setlength{\rightskip}{0pt plus 5cm}void SV\_\-SendKillMobj (
\begin{DoxyParamCaption}
\item[{{\bf AActor} $\ast$}]{source, }
\item[{{\bf AActor} $\ast$}]{target, }
\item[{{\bf AActor} $\ast$}]{inflictor, }
\item[{bool}]{joinkill}
\end{DoxyParamCaption}
)}}
\label{d6/d00/sv__main_8h_a7aff4893e6658c7bd4fb9d670f8122e1}
\hypertarget{sv__main_8h_ad302d9fdad04dfa16d9497a6f946cd8c}{
\index{sv\_\-main.h@{sv\_\-main.h}!SV\_\-SendPacket@{SV\_\-SendPacket}}
\index{SV\_\-SendPacket@{SV\_\-SendPacket}!sv_main.h@{sv\_\-main.h}}
\subsubsection[{SV\_\-SendPacket}]{\setlength{\rightskip}{0pt plus 5cm}bool SV\_\-SendPacket (
\begin{DoxyParamCaption}
\item[{{\bf player\_\-t} \&}]{pl}
\end{DoxyParamCaption}
)}}
\label{d6/d00/sv__main_8h_ad302d9fdad04dfa16d9497a6f946cd8c}
\hypertarget{sv__main_8h_a60ba11408df8904ae8795737c5b5f456}{
\index{sv\_\-main.h@{sv\_\-main.h}!SV\_\-SendReconnectSignal@{SV\_\-SendReconnectSignal}}
\index{SV\_\-SendReconnectSignal@{SV\_\-SendReconnectSignal}!sv_main.h@{sv\_\-main.h}}
\subsubsection[{SV\_\-SendReconnectSignal}]{\setlength{\rightskip}{0pt plus 5cm}void SV\_\-SendReconnectSignal (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}
\label{d6/d00/sv__main_8h_a60ba11408df8904ae8795737c5b5f456}
\hypertarget{sv__main_8h_a4a4fa9ad89b557a7fe00190b9cc89d59}{
\index{sv\_\-main.h@{sv\_\-main.h}!SV\_\-Sound@{SV\_\-Sound}}
\index{SV\_\-Sound@{SV\_\-Sound}!sv_main.h@{sv\_\-main.h}}
\subsubsection[{SV\_\-Sound}]{\setlength{\rightskip}{0pt plus 5cm}void SV\_\-Sound (
\begin{DoxyParamCaption}
\item[{{\bf client\_\-t} $\ast$}]{cl, }
\item[{{\bf AActor} $\ast$}]{mo, }
\item[{{\bf byte}}]{channel, }
\item[{const char $\ast$}]{name, }
\item[{{\bf byte}}]{attenuation}
\end{DoxyParamCaption}
)}}
\label{d6/d00/sv__main_8h_a4a4fa9ad89b557a7fe00190b9cc89d59}
\hypertarget{sv__main_8h_a888f4056937a18edf9216381e0d28cf0}{
\index{sv\_\-main.h@{sv\_\-main.h}!SV\_\-Sound@{SV\_\-Sound}}
\index{SV\_\-Sound@{SV\_\-Sound}!sv_main.h@{sv\_\-main.h}}
\subsubsection[{SV\_\-Sound}]{\setlength{\rightskip}{0pt plus 5cm}void SV\_\-Sound (
\begin{DoxyParamCaption}
\item[{{\bf AActor} $\ast$}]{mo, }
\item[{{\bf byte}}]{channel, }
\item[{const char $\ast$}]{name, }
\item[{{\bf byte}}]{attenuation}
\end{DoxyParamCaption}
)}}
\label{d6/d00/sv__main_8h_a888f4056937a18edf9216381e0d28cf0}
\hypertarget{sv__main_8h_a4d0664f20e5cf77a66d9a3ca3d1aee2a}{
\index{sv\_\-main.h@{sv\_\-main.h}!SV\_\-Sound@{SV\_\-Sound}}
\index{SV\_\-Sound@{SV\_\-Sound}!sv_main.h@{sv\_\-main.h}}
\subsubsection[{SV\_\-Sound}]{\setlength{\rightskip}{0pt plus 5cm}void SV\_\-Sound (
\begin{DoxyParamCaption}
\item[{{\bf fixed\_\-t}}]{x, }
\item[{{\bf fixed\_\-t}}]{y, }
\item[{{\bf byte}}]{channel, }
\item[{const char $\ast$}]{name, }
\item[{{\bf byte}}]{attenuation}
\end{DoxyParamCaption}
)}}
\label{d6/d00/sv__main_8h_a4d0664f20e5cf77a66d9a3ca3d1aee2a}
\hypertarget{sv__main_8h_a1fccecba486a5fd789a20d16fe256e84}{
\index{sv\_\-main.h@{sv\_\-main.h}!SV\_\-SoundAvoidCl@{SV\_\-SoundAvoidCl}}
\index{SV\_\-SoundAvoidCl@{SV\_\-SoundAvoidCl}!sv_main.h@{sv\_\-main.h}}
\subsubsection[{SV\_\-SoundAvoidCl}]{\setlength{\rightskip}{0pt plus 5cm}void SV\_\-SoundAvoidCl (
\begin{DoxyParamCaption}
\item[{{\bf player\_\-t} \&}]{player, }
\item[{{\bf AActor} $\ast$}]{mo, }
\item[{{\bf byte}}]{channel, }
\item[{char $\ast$}]{name, }
\item[{{\bf byte}}]{attenuation}
\end{DoxyParamCaption}
)}}
\label{d6/d00/sv__main_8h_a1fccecba486a5fd789a20d16fe256e84}
\hypertarget{sv__main_8h_a0af33ba86ec0d5dd1a1a517945ebfb00}{
\index{sv\_\-main.h@{sv\_\-main.h}!SV\_\-SoundTeam@{SV\_\-SoundTeam}}
\index{SV\_\-SoundTeam@{SV\_\-SoundTeam}!sv_main.h@{sv\_\-main.h}}
\subsubsection[{SV\_\-SoundTeam}]{\setlength{\rightskip}{0pt plus 5cm}void SV\_\-SoundTeam (
\begin{DoxyParamCaption}
\item[{{\bf byte}}]{channel, }
\item[{const char $\ast$}]{name, }
\item[{{\bf byte}}]{attenuation, }
\item[{int}]{t}
\end{DoxyParamCaption}
)}}
\label{d6/d00/sv__main_8h_a0af33ba86ec0d5dd1a1a517945ebfb00}
\hypertarget{sv__main_8h_a4437511f87a325c3eb33ee2329cbc023}{
\index{sv\_\-main.h@{sv\_\-main.h}!SV\_\-SpawnMobj@{SV\_\-SpawnMobj}}
\index{SV\_\-SpawnMobj@{SV\_\-SpawnMobj}!sv_main.h@{sv\_\-main.h}}
\subsubsection[{SV\_\-SpawnMobj}]{\setlength{\rightskip}{0pt plus 5cm}void SV\_\-SpawnMobj (
\begin{DoxyParamCaption}
\item[{{\bf AActor} $\ast$}]{mo}
\end{DoxyParamCaption}
)}}
\label{d6/d00/sv__main_8h_a4437511f87a325c3eb33ee2329cbc023}
\hypertarget{sv__main_8h_aa4a9656534d81b4958f6c52eec203f97}{
\index{sv\_\-main.h@{sv\_\-main.h}!SV\_\-SpectatorPrintf@{SV\_\-SpectatorPrintf}}
\index{SV\_\-SpectatorPrintf@{SV\_\-SpectatorPrintf}!sv_main.h@{sv\_\-main.h}}
\subsubsection[{SV\_\-SpectatorPrintf}]{\setlength{\rightskip}{0pt plus 5cm}void STACK\_\-ARGS SV\_\-SpectatorPrintf (
\begin{DoxyParamCaption}
\item[{int}]{level, }
\item[{const char $\ast$}]{fmt, }
\item[{}]{...}
\end{DoxyParamCaption}
)}}
\label{d6/d00/sv__main_8h_aa4a9656534d81b4958f6c52eec203f97}
\hypertarget{sv__main_8h_a6758d6dad162d182e98ade83abdfc893}{
\index{sv\_\-main.h@{sv\_\-main.h}!SV\_\-Suicide@{SV\_\-Suicide}}
\index{SV\_\-Suicide@{SV\_\-Suicide}!sv_main.h@{sv\_\-main.h}}
\subsubsection[{SV\_\-Suicide}]{\setlength{\rightskip}{0pt plus 5cm}void SV\_\-Suicide (
\begin{DoxyParamCaption}
\item[{{\bf player\_\-t} \&}]{player}
\end{DoxyParamCaption}
)}}
\label{d6/d00/sv__main_8h_a6758d6dad162d182e98ade83abdfc893}
\hypertarget{sv__main_8h_a02ff450fbd110a7ef6430edb658bc0fb}{
\index{sv\_\-main.h@{sv\_\-main.h}!SV\_\-TouchSpecial@{SV\_\-TouchSpecial}}
\index{SV\_\-TouchSpecial@{SV\_\-TouchSpecial}!sv_main.h@{sv\_\-main.h}}
\subsubsection[{SV\_\-TouchSpecial}]{\setlength{\rightskip}{0pt plus 5cm}void SV\_\-TouchSpecial (
\begin{DoxyParamCaption}
\item[{{\bf AActor} $\ast$}]{special, }
\item[{{\bf player\_\-t} $\ast$}]{player}
\end{DoxyParamCaption}
)}}
\label{d6/d00/sv__main_8h_a02ff450fbd110a7ef6430edb658bc0fb}
\hypertarget{sv__main_8h_acb84bff2e99814ac9b0b0ee527d4d849}{
\index{sv\_\-main.h@{sv\_\-main.h}!SV\_\-UpdateFrags@{SV\_\-UpdateFrags}}
\index{SV\_\-UpdateFrags@{SV\_\-UpdateFrags}!sv_main.h@{sv\_\-main.h}}
\subsubsection[{SV\_\-UpdateFrags}]{\setlength{\rightskip}{0pt plus 5cm}void SV\_\-UpdateFrags (
\begin{DoxyParamCaption}
\item[{{\bf player\_\-t} \&}]{player}
\end{DoxyParamCaption}
)}}
\label{d6/d00/sv__main_8h_acb84bff2e99814ac9b0b0ee527d4d849}
\hypertarget{sv__main_8h_a7f2627c2054779b816cec471ee3c24ed}{
\index{sv\_\-main.h@{sv\_\-main.h}!SV\_\-WriteCommands@{SV\_\-WriteCommands}}
\index{SV\_\-WriteCommands@{SV\_\-WriteCommands}!sv_main.h@{sv\_\-main.h}}
\subsubsection[{SV\_\-WriteCommands}]{\setlength{\rightskip}{0pt plus 5cm}void SV\_\-WriteCommands (
\begin{DoxyParamCaption}
\item[{void}]{}
\end{DoxyParamCaption}
)}}
\label{d6/d00/sv__main_8h_a7f2627c2054779b816cec471ee3c24ed}


\subsection{Variable Documentation}
\hypertarget{sv__main_8h_afb368ea3d569553da690e87badbbc031}{
\index{sv\_\-main.h@{sv\_\-main.h}!clients@{clients}}
\index{clients@{clients}!sv_main.h@{sv\_\-main.h}}
\subsubsection[{clients}]{\setlength{\rightskip}{0pt plus 5cm}{\bf client\_\-c} {\bf clients}}}
\label{d6/d00/sv__main_8h_afb368ea3d569553da690e87badbbc031}
\hypertarget{sv__main_8h_a9b42a97a4238e4fe445ba94b0cef860f}{
\index{sv\_\-main.h@{sv\_\-main.h}!shotclock@{shotclock}}
\index{shotclock@{shotclock}!sv_main.h@{sv\_\-main.h}}
\subsubsection[{shotclock}]{\setlength{\rightskip}{0pt plus 5cm}int {\bf shotclock}}}
\label{d6/d00/sv__main_8h_a9b42a97a4238e4fe445ba94b0cef860f}
\hypertarget{sv__main_8h_aa162d3e31146f14443cabb05a829bec7}{
\index{sv\_\-main.h@{sv\_\-main.h}!unnatural\_\-level\_\-progression@{unnatural\_\-level\_\-progression}}
\index{unnatural\_\-level\_\-progression@{unnatural\_\-level\_\-progression}!sv_main.h@{sv\_\-main.h}}
\subsubsection[{unnatural\_\-level\_\-progression}]{\setlength{\rightskip}{0pt plus 5cm}bool {\bf unnatural\_\-level\_\-progression}}}
\label{d6/d00/sv__main_8h_aa162d3e31146f14443cabb05a829bec7}
\hypertarget{sv__main_8h_ad8417c96ce051231c6aff3cf33ce0edc}{
\index{sv\_\-main.h@{sv\_\-main.h}!wadnames@{wadnames}}
\index{wadnames@{wadnames}!sv_main.h@{sv\_\-main.h}}
\subsubsection[{wadnames}]{\setlength{\rightskip}{0pt plus 5cm}std::vector$<${\bf std::string}$>$ {\bf wadnames}}}
\label{d6/d00/sv__main_8h_ad8417c96ce051231c6aff3cf33ce0edc}
